OC 類目、協議,oc類目協議
類目:為現有的類添加新方法
1.需要添加該類的新方法,但是不能繼承該類的情況下
類目使用需要注意的問題:
1.類目裡面不能添加執行個體變數,但是類目可以聲明屬性,但必須實現set get 方法,在這兩個實現方法裡面依然不能使用自己添加的執行個體方法
2.類目裡添加的方法不能和原類中的方法重名,否則會導致覆蓋
3.一個類可以添加多個類目,但是類目名和方法名不能重複
4.類目中的方法可以成為原始類的一部分,和原始類方法層級相同,可以被子類繼承
類目的建立與使用:
File:是類目的名稱
File Type:是類型,這是選擇Category
Class:是填寫所要添加類目的類
//添加後的類目名
//在.h檔案裡添加方法-(void)hi;在.m檔案實現
在main檔案裡調用,記得匯入類目檔案
這樣,類目就建立並實現好
隱藏類目(延展):類目的私人方法
在需要添加類目的類的.m檔案裡面#import "類名"下面添加
//這一塊就是延展(匿名類目)
@interface Student()
//建議把執行個體變數放在延展裡面
{
NSInteger _age;
}//解決需要添加私人方法,但是又不能聲明在標頭檔聲明的矛盾
@property(nonatomic,strong)NSString* name;
//在這裡聲明私人方法
-(void)printHello;
@end
這樣一個匿名類目就完成了,需要注意的是在main的檔案裡可以printHello方法不能使用,printHello是私人方法,不能給其他類使用,只能由匿名類目的類去調用
協議:是一套標準,這個標準裡聲明了很多方法,但是補關心具體這些方法是怎麼實現的,具體的實現是由遵循這個協議的類去完成
OC裡面繼承關係是單繼承,但有時候我們需要使用多繼承,這時候我們就可以使用協議
File:協議名字
File Type:類型(選擇Protocol)
//建立Student類,
Student.h檔案
Student.m
實現協議裡面的方法
在main檔案裡面實現
這樣,一個簡單的協議就已經實現