IOS學習(OC語言)知識點整理
一、多態
1)多態的通俗理解,即一個方法多種形態。
2)多態的賦值兼容:即父類的引用可以指向子類的對象。
3)在多態中調用方法時看對象,不看指針,即我們要看執行的是哪個方法就看我們是哪個對象實例調用這個方法。
4)父類的引用不能調用子類特有的方法和屬性,需要強轉成子類。
5)組合類(即類裡面包含其他類對象)的使用,注意在使用組合類時我們要重寫系統的初始化方法,給組合類中的類對象實例化,這樣以後的成員方法才可以直接操作成員對象。
6)在多態中我們可以使用@class 添加對類的引用(不清楚類中的成員)作用:防止頭文件互相包含。
7)在多態中我們可以使用isMemberOfClass判斷當前實例是那個類對象的。例如:
-(void)beaten:(Animal *)animal
{
//Animal是父類(Animal中有多個類如Dog、Cat....) Cat是其中的一個子類
if([animal isMemberOfClass: [Cat class]]){
NSLog(@"cat");
}
[animal action];
}