繼承是oc中比較常見的。
1、繼承:
就是當兩個類擁有相同的屬性和方法時,就可以將相同的東西抽取到乙個父類中。子類可以擁有父類中所有的成員變數和方法。
2、繼承的好處:
可以抽取重複**,節省時間。建立了類之間的關係。
3、使用注意:
父類必須寫在子類前面
子類不能擁有和父類相同的名稱的成員變數
當呼叫某個方法時,優先去當前類中找,如果找不到,再去父類中找。
4、組合
@inte***ce score : nsobject
@end
// 實現
@implementation score
@end
@inte***ce student : nsobject
@end
5、super
1>直接呼叫父類中的某個方法
2>super處在物件中,那麼就會呼叫父類的物件方法
super處在類方法中,那麼就會呼叫父類的類方法
3>使用場合:子類重寫父類方法時想保留父類的一些行為
舉例說明:
// 設定乙個類為a 宣告並且實現
@inte***ce a : nsobject
- (void)speak;
@end
@implementation a
- (void)speak
@end
//b繼承a
@inte***ce b : a
@end
@implementation b
// 重寫。並使用父類的行為
- (void)speak
@end
6、多型
字面上理解就是多種狀態,有繼承才有多型
**的體現:父類型別的指標指向子類的物件
好處:如果函式、方法中的引數使用的是父類型別可以傳入父類、子類物件
侷限性:父類型別的變數不能直接呼叫子類特有的方法,如果要使用,必須強轉為子類型別的變數後,才能直接呼叫子類特有的方法。
@inte***ce animal : nsobject
- (void)eat
@end
@implementation animal
- (void)eat
@end
// 子類:繼承動物
@inte***ce dog : animal
@end
@implementation dog
- (void)eat
@end
在函式中呼叫
int main()
OC三大特性之繼承和多型
一 繼承 1.概念 程式裡的繼承子類繼承了父類,那麼子類就擁有父類中的所有成員變數和方法,這跟現實中的狗是動物的一種,狗也具備了動物 所必備的屬性,更符合我們的理解。2.繼承的好處與缺點 1 抽取出了重複的 2 建立了類和類之間的聯絡 繼承的缺點 耦合性太強 3.繼承的例項 inte ce anim...
三大特性 封裝,繼承,多型
重寫方法的規則 1 引數列表必須完全與被重寫的方法相同,否則不能稱其為重寫而是過載。2 返回的型別必須一直與被重寫的方法的返回型別相同,否則不能稱其為重寫而是過載。3 訪問修飾符的限制一定要大於被重寫方法的訪問修飾符 public protected default private 4 重寫方法一定...
三大特性 封裝 繼承 多型
物件導向的三大特性 封裝,繼承,多型 封裝 物件的便捷對物件的內部起到保護作用 資料隱藏 四種訪問修飾符 public公開 可以繼承 default本類和同包可以訪問 如果乙個屬性既不是public也不是private 那就預設是default 同包的子類可以繼承 private私有 只能在本類內部...