OC Id和構造方法

2021-07-02 11:58:45 字數 944 閱讀 5268

* id是指萬能指標,能指向\操縱任何oc物件;*

注意:寫id的時候不要寫*;

侷限性:呼叫乙個不存在的方法,編譯器會馬上報錯!

例如:

person *p = [person new];

nsobject *n= [person new];

id d = [person new];

完整的建立乙個可用物件分為兩步:

1>分配儲存空間 +alloc

2>初始化 -init

new方法是建立乙個物件的方法,[person new]是乙個類方法。

構造方法的用途是用來初始化物件的方法,是乙個以「-」開頭的物件方法(預設初始化完了之後的值都是0)

person *p =[[person alloc] init];
例題:

每個person物件建立出來,它的age都是10.

1> 一定要呼叫回super的init方法:初始化父類中宣告的一些成員變數和其他屬性。

2>如果物件初始化成功,才有必要進行下來的初始化

3> 然後返回初始化的數值

**演示:

執行結果如下

1> 先呼叫父類的構造方法([super init])

2> 在進行子類內部成員變數的初始化

1 、命名規範

1> 一定是物件方法,一定以「-」開頭

2> 返回值一般是id型別

3> 方法名一般以init開頭

2 、 自定義構造方法的用途:初始化值

1> 當父類中的成員變數存在,我們僅僅需要直接將需要初始化的值直接傳到父類中初始化即可

2> 父類的屬性給父類方法處理,子類僅需要處理自己的屬性即可

OC id 構造方法

id 簡介 typedef struct objc object id 使用 注意 id後面不要加上 id p person new 侷限性呼叫乙個不存在的方法,編譯器會馬上報錯 構造方法 用來初始化物件的方法,是乙個物件方法 物件建立原理 person p1 person alloc person...

構造方法和構造方法的過載

1.通過new關鍵字呼叫 2.構造器雖然有返回值,但是不能定義返回值型別 返回值的型別肯定是本類 不能在構造器裡使用return返回某個值。3.如果我們沒有定義構造器,則編譯器會自動定義乙個無參的建構函式。如果已定義則編譯器不會自動新增 4.構造器的方法名必須和類名一致 類 class point ...

構造方法和方法過載

結構 訪問修飾符 返回值型別 方法名 引數列表 有返回值接收定義乙個接收變數 接收變數a 類名.方法名 實參 system.out.print 接收變數a 注意點 1.呼叫方法時不用指定實參型別,直接使用具體值即可 2.形式引數與實際引數型別要一致,數量也要一致 引數 基本資料型別做引數時,傳遞的是...