重寫set或get方法

【學(xué)習(xí)筆記】【OC語(yǔ)言】set方法和get方法

1.set方法
作用:用來(lái)設(shè)置成員變量蝗茁,可以在方法里面過(guò)濾掉一些不合理的值
命名規(guī)范:
方法都是以set開頭胆屿,而且后面跟上成員變量名况木,成員變量名的首字母必須大寫
形參名稱不要跟成員變量同名
2.get方法
作用:返回對(duì)象內(nèi)部的成員變量
命名規(guī)范:get方法的名稱一般就跟成員變量同名
3.成員變量的命名規(guī)范
成員變量都以下劃線 _ 開頭
可以跟get方法的名稱區(qū)分開
可以跟其他局部變量區(qū)分開扇调,一看到下劃線開頭的變量蹦掐,肯定是成員變量

*第一種實(shí)現(xiàn)方法代碼示例

 1 #import <Foundation/Foundation.h>
 2 // 聲明
 3 @interface Car : NSObject
 4 {
 5     int _wheels; // 輪子個(gè)數(shù)
 6 }
 7 /*set方法*/
 8 - (void) setWheels:(int)wheels;
 9 /*get方法*/
10 - (int) wheels;
11 @end
12 
13 @implementation Car
14 // set方法的實(shí)現(xiàn)
15 - (void) setWheels:(int)wheels
16 {
17     // 對(duì)外面?zhèn)鬟M(jìn)來(lái)的輪子數(shù)進(jìn)行過(guò)濾
18     if (wheels<=0)
19     {
20         wheels = 1;
21     }
22     
23     _wheels = wheels;
24 }
25 
26 // get方法的實(shí)現(xiàn)
27 - (int) wheels
28 {
29     return _wheels;
30 }
31 @end

*第二種實(shí)現(xiàn)方法代碼實(shí)例

@property的時(shí)候就已經(jīng)創(chuàng)建了相應(yīng)的set和get方法
//  Person.h
//  get/set方法重寫

#import <Foundation/Foundation.h>

@interface Person : NSObject

@property int age;
@property NSString * name;

@end
@implementation Person
/*
    1. 當(dāng)想控制外界傳入的一些數(shù)據(jù)的合理性丐怯、安全性的時(shí)候我們就需要手動(dòng)重新get/set方法
 */
- (void)setAge:(int)age
{
    _age = age;
    if (_age < 0) {
        _age = 0;
    }
}
/*
    2. 當(dāng)我們手動(dòng) 同時(shí) 實(shí)現(xiàn)了get/set方法的時(shí)候蟀伸,property就不會(huì)自動(dòng)給我們生成成員變量
 */
- (int)age
{
    return _age;    //_age報(bào)錯(cuò)
}

注意??:

  1. 這里如果只重寫了set或者get方法時(shí)候蚀同,成員變量_age是正確的,系統(tǒng)不會(huì)報(bào)錯(cuò)啊掏。但是如果同時(shí)重寫了set和get方法蠢络,系統(tǒng)就會(huì)報(bào)錯(cuò),說(shuō)找不到_age這個(gè)成員變量迟蜜。
  1. 用@property聲明的成員屬性,相當(dāng)于自動(dòng)生成了setter getter方法,同時(shí)重寫了set和get方法,與@property聲明的成員屬性就不是一個(gè)成員屬性了,是另外一個(gè)實(shí)例變量,而這個(gè)實(shí)例變量需要手動(dòng)聲明
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末刹孔,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子小泉,更是在濱河造成了極大的恐慌芦疏,老刑警劉巖冕杠,帶你破解...
    沈念sama閱讀 206,013評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異酸茴,居然都是意外死亡分预,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門薪捍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)笼痹,“玉大人,你說(shuō)我怎么就攤上這事酪穿〉矢桑” “怎么了?”我有些...
    開封第一講書人閱讀 152,370評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵被济,是天一觀的道長(zhǎng)救赐。 經(jīng)常有香客問(wèn)我,道長(zhǎng)只磷,這世上最難降的妖魔是什么经磅? 我笑而不...
    開封第一講書人閱讀 55,168評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮钮追,結(jié)果婚禮上预厌,老公的妹妹穿的比我還像新娘。我一直安慰自己元媚,他們只是感情好轧叽,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,153評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著刊棕,像睡著了一般炭晒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上鞠绰,一...
    開封第一講書人閱讀 48,954評(píng)論 1 283
  • 那天腰埂,我揣著相機(jī)與錄音,去河邊找鬼蜈膨。 笑死屿笼,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的翁巍。 我是一名探鬼主播驴一,決...
    沈念sama閱讀 38,271評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼灶壶!你這毒婦竟也來(lái)了肝断?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,916評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎胸懈,沒(méi)想到半個(gè)月后担扑,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,382評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡趣钱,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,877評(píng)論 2 323
  • 正文 我和宋清朗相戀三年涌献,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片首有。...
    茶點(diǎn)故事閱讀 37,989評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡燕垃,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出井联,到底是詐尸還是另有隱情卜壕,我是刑警寧澤,帶...
    沈念sama閱讀 33,624評(píng)論 4 322
  • 正文 年R本政府宣布烙常,位于F島的核電站轴捎,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏蚕脏。R本人自食惡果不足惜轮蜕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,209評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蝗锥。 院中可真熱鬧,春花似錦率触、人聲如沸终议。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)穴张。三九已至,卻和暖如春两曼,著一層夾襖步出監(jiān)牢的瞬間皂甘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工悼凑, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留偿枕,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,401評(píng)論 2 352
  • 正文 我出身青樓户辫,卻偏偏與公主長(zhǎng)得像渐夸,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子渔欢,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,700評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理墓塌,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,599評(píng)論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法苫幢,類相關(guān)的語(yǔ)法访诱,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法韩肝,異常的語(yǔ)法触菜,線程的語(yǔ)...
    子非魚_t_閱讀 31,581評(píng)論 18 399
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 3,776評(píng)論 1 10
  • 重點(diǎn)掌握 3 類對(duì)象和方法 對(duì)象就是一個(gè)物體 類的獨(dú)特存在就是一個(gè)實(shí)例,對(duì)實(shí)例進(jìn)行操作叫做方法伞梯。方法可以應(yīng)用于類或...
    Coder大雄閱讀 1,254評(píng)論 0 2
  • 不知不覺(jué)中谜诫,一周又要結(jié)束了漾峡,今天是星期六,忙碌了整個(gè)星期 睡個(gè)懶覺(jué)起來(lái) 喻旷,感覺(jué)真好生逸。周末,固然應(yīng)該休息且预,娛樂(lè)...
    淺唱夢(mèng)想520閱讀 211評(píng)論 5 3