OC中實例變量初始化方法和setter方法
1.使用實例初始化方法 initWith開頭的方法
3.使用構造器 類名+With…
首先介紹下實例初始化方法
使用實例初始化方法 initWith開頭的方法
.h文件
.m文件裏
main函數
這種賦值方法有幾點需要注意:
1) 自寫初始化函數需要 以 initWith開頭 必須形如 initWith…注意大小寫
2 )一個類裏可以有多個初始化方法,但是只能有一個“指定初始化”方法,指定初始化方法是在調用任意一個初始化方法的時候都會默認被調用的初始化方法,也就是說 指定初始化方法是在其它初始化方法裏面被調用的,每一個初始化方法內部必須調用指定初始化方法,這不是規則,而是通用的原則。
如 上例做如下修改:
添加一個初始化方法:
h文件聲明:
-(void)initWithStudentID:(NSString *)studentID score:(float)score;
m文件實現:
-(void)initWithStudentID:(NSString *)studentID score:(float)score
{
self = [self initWithName:NIL sex:NIL age:NIL studentID:studentID
score: score
}
setter方法
.h文件
.m文件
main函數
便利構造器方法
便利構造器書寫規則
類方法 開頭以類名開頭類名首字母小寫 後續駝峯法,屬於類方法 用+號
.h文件
.m文件
main函數
創建對象的方法如下
這種方法創建對象就很便捷了,因爲無需每次手動申請空間,調用alloc函數。
一個初始化函數裏面只能有一個super init類的方法,這樣能保證多個入口一個出口,避免混亂。