類的子類體現的是縱向的類層次關系。
類別體現的是平級的關系,是同一層次上的關系。
Objective-C把類別集成到Objective-C運行時里面,所以在Objective-C中為已有類添加新的方法并不需要重新編譯舊的類。
類別可以訪問類的所有方法和實例變量,哪怕是私有變量。
如果類別中的方法名與原類中的某個方法名同名,則原類的方法會被覆蓋,可以利用這一點來修復bug。
由于類別是運行時級別的集成,所以程序的安全性就下降了。
如果兩個類別具有相同的方法名,那么具體調用哪個就不知道了。
Objective-C只能添加方法不能添加實例變量。
與類別不同,類擴展是類的內部擴展。
類別關心的是把不同功能的代碼分開存放。
因為類別是運行時機制,所以你調用一個類別中的方法,就會占用一點內存的空間,所以少用類別可以減少內存消耗。