一 構造方法
建立物件時使用的new方法繼承自nsobject
new方法分為兩步:
第一步是給物件分配儲存空間,使用alloc方法,
第二步是初始化物件,使用init方法,即構造方法。
格式如下:
person *p = [[person alloc] init];
重寫構造方法:使建立出來的物件,成員變數會有一些初始固定值。
重寫init方法,在init方法中初始化成員變數
1.必須先初始化父類,在初始化子類.
2.必須判斷父類是否初始化成功,只有父類初始化成功才能繼續初始化子類
//(自定義 構造方法 在繼承中時,父類的成員變數讓父類去初始化,自己的事情自己做.)
3.返回當前物件的位址
@implementation person
// 重寫構造方法,初始化成員變數age = 10
- (instancetype)init
// 返回初始化後的物件
return self;
}@end
int main()
id 可以可以用來定義變數,可以作為返回值,可以作為引數
instancetyoe 只能用於作為返回值
二. 自定義構造方法
自定義構造方法:其實是自定義乙個init方法
1.一定是物件方法
2.一定返回id/instancetype
3.方法名稱一定以init開頭
(instancetype)initwithname:(nsstring *)name andage:(int)age
return self;
}
這裡自定義乙個構造方法,在進行初始化時,對物件的成員變數name和age進行賦值。
用法:person *p = [[person alloc] initwithname:@」jack」 andage:10];
oc構造方法
一 構造方法的呼叫 完整的建立乙個可用的物件 person p person new new方法的內部會分別呼叫兩個方法來完成 2件事情,1 使用 alloc 方法來分配儲存空間 返回分配的物件 2 使用 init 方法來對物件進行初始化。可以把new 方法拆開如下 1.呼叫類方法 alloc 分配...
oc構造方法
主題 exam self 是訊息傳送者,不要簡單理解為物件 self super init if self return self 下圖為isa截圖 在物件處打一斷點可到如下內容,isa是指標,指向類方法 void setage等 在init構造實現賦值和輸出 需要有賦值方法和輸出方法 例如 set...
oc構造方法
在oc中init開頭的方法,我們稱之為構造方法 構造方法的用途 用於初始化乙個物件,讓某個物件一建立出來就擁有某些屬性和值 int main int argc,const char argv person.m day14 created by xiaomage on 15 6 23.import p...