繼承的精華

1.繼承:

當多個類出現部分相同的實例變量和方法時,就要考慮繼承(而不是先有父類再有子類,主要不是這個思想)


2.繼承的使用:

將多個類中相同的實例變量和方法提出來寫成一個公共的父類


 子類繼承父類:會將父類中除了聲明爲@private的實例變量以及私有方法之外,其餘內容都會被繼承,所以如果子類中有和父類同樣的內容,可以全部刪除

 

私有方法:.m文件中實現,但是沒有在.h文件中聲明的方法叫做私有方法,私有方法不允許在外部訪問,但是可以在本類中訪問

如果有方法是從父類繼承過來的,而子類又實現了該方法,我們叫做重寫父類的方法

繼承時的方法會存在三種情況:

1.保留父類對該方法的實現,(實現方式不重寫該方法)

2.按子類重寫之後的方式來實現(實現方式重寫該方法,只改變自己的實現體,完全忽視父類的實現,此時不需對方法聲明因爲已經繼承過來了)

3.對於該方法既有父類對該方法的實現,也有子類對該方法的實現

如何實現呢:

例如:[self eat]

使用self來調用自己的方法.super用來調用父類方法的實現(不是調用父類的方法(父類方法已經繼承過來的是自己的已經沒有父類這個概念))

- (void)eat

{

    [supereat],此eat:super用來調用父類方法的實現(不是調用父類的方法(父類方法已經繼承過來的是自己的已經沒有父類這個概念))

   NSLog(@"不吃了");

}



初始化時本類只對自己獨有的實例變量賦值即可

super調用父類對該初始化方法的實現,爲從父類繼承過來的實例變量賦值

 _name = name;

_gender = gender;

 _age = age;

便利構造器

作用:快速創建對象,內部封裝了創建對象的過程

格式:1. +方法  

2.返回值類型爲id類型  

3.以類名+with開頭,拼接上多個參數




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章