oc語言構造方法
一、構造方法
(一)構造方法的呼叫
完整的建立乙個可用的物件:person *p=[person new];
new方法的內部會分別呼叫兩個方法來完成
2件事情,
1)使用
alloc
方法來分配儲存空間(返回分配的物件);
2)使用
init
方法來對物件進行初始化。
可以把new
方法拆開如下:
1.呼叫類方法+alloc
分配儲存空間,返回未經初始化的物件
person *p1=[person alloc];
2.呼叫物件方法-init
進行初始化,返回物件本身
person *p2=[p1 init];
3.以上兩個過程集成為一句:
person *p=[[person alloc] init];
說明:init
方法就是構造方法,是用來初始化物件的方法,注意這是乙個物件方法,一減號開頭。預設初始化完畢後,所有成員變數的值都為0。
(二)構造方法的**示例
需求1,如果我需要讓每個物件建立出來的初始值是
10,而不是
1,應該怎麼辦呢?
需求2,讓學生繼承人類,要求學生物件初始化之後,年齡是
10,學號是
1,怎麼辦?
(三)構造方法使用注意
(1)子類擁有的成員變數包括自己的成員變數以及從父類繼承而來的成員變數,在重寫構造方法的時候應該首先對從父類繼承而來的成員變數先進行初始化。
(2)原則:先初始化父類的,再初始化子類的。
(3)重寫構造方法的目的:為了讓物件方法一建立出來,成員變數就會有一些固定的值。
(4)注意點:#1
先呼叫父類的構造方法
[super init]; #2
再進行子類內部成員變數的初始化。
二、自定義構造方法
(一)自定義構造方法的規範
(1)一定是物件方法,以減號開頭
(2)返回值一般是id型別
(3)方法名一般以initwith開頭
(二)自定義構造方法的**實現
person類的宣告,其中宣告了兩個接收引數的自定義構造方法
person類的實現
student繼承自person類,宣告了乙個接收三個引數的構造方法
student類的實現
測試主程式
(三)自定義構造方法的使用注意
(1)自己做自己的事情
(2)父類的方法交給父類的方法來處理,子類的方法處理子類自己獨有的屬性
OC語言構造方法
oc語言構造方法 一 構造方法 一 構造方法的呼叫 完整的建立乙個可用的物件 person p person new new方法的內部會分別呼叫兩個方法來完成 2件事情,1 使用 alloc 方法來分配儲存空間 返回分配的物件 2 使用 init 方法來對物件進行初始化。可以把new 方法拆開如下 ...
OC語言 構造方法
一 構造方法 1.什麼是oc構造方法?oc構造方法是用來初始化物件時呼叫的方法,是個物件方法,以 號開頭。2.如果你先建立乙個person類,讓建立後的person類新建立的物件預設的年齡為20歲,該如何處理?重寫構造方法,在重寫的構造方法中對person的成員變數進行賦值。二 物件初始化分析 pe...
OC語言構造方法
oc語言構造方法 一 構造方法 一 構造方法的呼叫 完整的建立乙個可用的物件 person p person new new方法的內部會分別呼叫兩個方法來完成 2件事情,1 使用 alloc 方法來分配儲存空間 返回分配的物件 2 使用 init 方法來對物件進行初始化。可以把new 方法拆開如下 ...