分類:對于原始類中添加更多的方法爬早,這些添加的方法寫在與原始類不同的.h、.m的文件中强窖。也可以給系統(tǒng)自帶的類添加分類凸椿。
1.只能添加方法。添加屬性不會報錯翅溺,但是不會為相應(yīng)屬性分配內(nèi)存地址所以在操作該屬性的代碼的地方會奔潰,使用{}的方式添加成員變量會報錯脑漫。
2.格式:
@interface 原始類名(分類名稱)
@end
@implementation 原始類名(分類名稱)
@end
3.一個龐大的類可分多個模塊開發(fā),由多個人來編寫有利于團(tuán)隊合作咙崎。
4.分類中可以訪問原始類的成員變量及屬性优幸、分類中也可以重寫原始類中的方法,這樣分類中的方法就直接替換掉了原始類中的方法褪猛,導(dǎo)致原始類中的方法失去作用网杆。如果多個分類中寫了同樣一個方法,那么只有最后一個參與編譯的才會有效伊滋。
擴(kuò)展:對于一個類在非本類的.h文件或者本類的.m文件的@interface中碳却,添加新的屬性、成員變量笑旺、方法昼浦。
1.在本類的.m文件的@interface 中添加的屬性、成員變量筒主、方法关噪,是私有的,這種擴(kuò)展叫做匿名擴(kuò)展乌妙。
2.在非本類的.h文件中 以
@interface 本類名 ()
@end
此種方法寫的屬性使兔、成員變量、及方法藤韵,為公開的虐沥, 此種擴(kuò)展為一般的擴(kuò)展。