運(yùn)行時(shí)多態(tài)
多態(tài):子類在父類統(tǒng)一行為接口下,表現(xiàn)不同的實(shí)現(xiàn)方式
對(duì)比重寫與重載
子類重寫父類同名同參數(shù)方法:子類只可重寫父類方法
方法名相同,參數(shù)不同:OC不支持方法的重載
在子類的代碼中,可以使用super來(lái)調(diào)用基類的實(shí)現(xiàn)
self具有多態(tài)性,可指向不同子類
super沒(méi)有多態(tài)性,僅指向當(dāng)前父類
初始化器
子類自動(dòng)繼承基類的初始化器
子類也可以重寫基類初始化器,此時(shí)子類初始化器必須先調(diào)用基類的一個(gè)初始化器(手工調(diào)用)
析構(gòu)器
子類可以選擇重寫繼承基類析構(gòu)器,或者重寫基類析構(gòu)器
子類析構(gòu)器執(zhí)行完畢后,會(huì)自動(dòng)調(diào)用基類析構(gòu)器(后置調(diào)用,且不支持手工調(diào)用)
子類析構(gòu)器自動(dòng)具有多態(tài)性
盡量避免在父類init和dealloc中調(diào)用子類重寫的方法