OC中實例變量初始化方法,setter方法以及便利構造器的不同

OC中實例變量初始化方法和setter方法

1.使用實例初始化方法 initWith開頭的方法

2.使用實例setter方法 默認初始化方法 + setName:xxx setAge:xx 

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類的方法,這樣能保證多個入口一個出口,避免混亂。



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