Object-C 類的點語法

本文是觀看了 @M了個J 視頻  整理的一些學習資料   在這裏感謝大神[(@M了個J) 大神博客鏈接的地址爲  http://www.cnblogs.com/mjios/] 在這裏謝謝大神,同時也謝謝那些無私奉獻知識的人   如果說我比別人看得更遠些,那是因爲我站在了巨人的肩上 --牛頓

類的.h中  方法名( :號也是方法名的一部分)

- (void)setAge:(int)newAge; //方法名是setAge:

-(int)age; //方法名是age

-(void)setAge:(int)newAge andNo:(int)no; //方法名是setAge:andNo:


類的創建、點語法的使用

Person * person = [ [Person alloc] init];

person.age = 10; //相當於[person setAge:10]   //當. 在等號的左邊時 編譯器自動檢查調用set方法 編譯器默認執行的set方法名爲setAge

int age = person.age; //等效於[person age];     //當. 在等號的右邊時 編譯器自動檢查調用get方法  編譯器默認執行的get方法名爲age

因此person.age訪問的是成員變量的set方法並不是該成員變量  所以OC中通常把成員變量聲明爲_變量名(如_age) 這樣我們就可以很清楚的知道person.age 不是訪問成員變量  因爲我們的成員變量名爲_age   

-(void)setAge:(int)newAge{

_age =newAge;

//self.age = newAge; //不可以這樣寫  死循環  setAge調用setAge  相當於 [self setAge:newAge] 無限調用set方法

}

//get方法  OC中  成員變量的get方法名與成員變量名相同

- (int)age{

NSLog(@"調用了age 方法: %i",age);

return _age;

//return self.age; //不可以這樣寫  死循環  age調用age  相當於 [self  age] 無限調用get方法

}


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