第三節(jié)
1.繼承是單向的,不能相互繼承,具有傳遞性糊闽,子類可以繼承父類的全部特征和行為
2.super是編譯器指令,并非對象爹梁,作用是給super發(fā)消息右犹,可以執(zhí)行父類中的實(shí)現(xiàn)方法
3.初始化方法:
(1)在?自?身的初始化?方法中,優(yōu)先向super發(fā)送init消息,初始化公共變量,初始化成功之后,再初始化?自?身特有變量,從?而完成全部實(shí)例變量的初始化。
- (instancetype)init
{
self = [super init];//super將init消息的實(shí)現(xiàn)部分分配到父類的實(shí)現(xiàn)部分姚垃,這個init消息的接受者還是本類念链,所以這里的self是本類的對象,而不是父類的對象
if (self) {
_age = 3;
}
// _name = @"咪咪";
return self; //self可以指代一個對象
}
(2)特征:{
1.初始化?方法是 “-”?法
2.id或者instancetype類型的返回值
3以init開頭
4.可以帶0到多個參數(shù)
5.內(nèi)部實(shí)現(xiàn):先執(zhí)?行super的初始化?方法,再初始化?自?身變量,return self
}
4.便利構(gòu)造器
(1)便利構(gòu)造器封裝了對象的創(chuàng)建過程,進(jìn)?一步簡化了對象創(chuàng)建的步驟莉炉。
(2)是類方法钓账,以+(instancetype)開頭