第04天OC語言(05):property修飾符

  • 不要等到明天,明天太遙遠(yuǎn)扼睬,今天就行動逮栅。
須讀:看完該文章你能做什么?

設(shè)置類的成員變量的一些訪問修飾符

學(xué)習(xí)前:你必須會什么?

了解什么是封裝窗宇。什么是可讀措伐、可寫。


一军俊、本章筆記
 一侥加、
 格式
 @property (屬性修飾符) 數(shù)據(jù)類型 變量名稱;
     如果給一個屬性 同時提供了getter/setter方法,那么我們稱這個屬性為 可讀可寫屬性
     如果 只 提供getter方法, 那么我們稱這個屬性為 只讀屬性
     如果 只 提供setter方法, 那么我們稱這個屬性為 只寫屬性
     如果既沒有提供getter 也沒有提供setter方法,那么 我們稱這個屬性為私有屬性
     
     readonly   : 代表只生成getter方法 不生成setter方法
     readwrite  : 代表即生成getter方法,也生成setter方法 (默認(rèn)情況下@property 是 readwrite)
     只寫的系統(tǒng)不提供 需要程序員手動寫
 二、修改getter方法名稱
     系統(tǒng)默認(rèn)生成的方法名稱
     - (void)setHeight:(int)height;
     - (double)height;
     強制修改getter方法名稱
     getter=abc
     - (double)abc;
 三粪躬、修改setter方法名稱
     系統(tǒng)默認(rèn)生成的方法名稱
     - (void)setWeight:(int)weight;
     - (double)weight;
     強制修改setter方法名稱
     setter=tiZhong:
     - (void)tiZhong:(int)weight;
 四担败、程序員之間有一個約定, 一般情況下獲取BOOL類型的屬性的值,我們都會將獲取的方法名稱改為isXXX
二、code
main.m
#pragma mark 05-property修飾符
#pragma mark 概念
/*
 一镰官、
 格式
 @property (屬性修飾符) 數(shù)據(jù)類型 變量名稱;
     如果給一個屬性 同時提供了getter/setter方法,那么我們稱這個屬性為 可讀可寫屬性
     如果 只 提供getter方法, 那么我們稱這個屬性為 只讀屬性
     如果 只 提供setter方法, 那么我們稱這個屬性為 只寫屬性
     如果既沒有提供getter 也沒有提供setter方法,那么 我們稱這個屬性為私有屬性
     
     readonly   : 代表只生成getter方法 不生成setter方法
     readwrite  : 代表即生成getter方法,也生成setter方法 (默認(rèn)情況下@property 是 readwrite)
     只寫的系統(tǒng)不提供 需要程序員手動寫
 二提前、修改getter方法名稱
     系統(tǒng)默認(rèn)生成的方法名稱
     - (void)setHeight:(int)height;
     - (double)height;
     強制修改getter方法名稱
     getter=abc
     - (double)abc;
 三、修改setter方法名稱
     系統(tǒng)默認(rèn)生成的方法名稱
     - (void)setWeight:(int)weight;
     - (double)weight;
     強制修改setter方法名稱
     setter=tiZhong:
     - (void)tiZhong:(int)weight;
 四泳唠、程序員之間有一個約定, 一般情況下獲取BOOL類型的屬性的值,我們都會將獲取的方法名稱改為isXXX
 */
#pragma mark - 代碼
#import <Foundation/Foundation.h>
#pragma mark 類
#import "Person.h"
#pragma mark - main函數(shù)
int main(int argc, const char * argv[])
{
    
    Person *p = [Person new];
    p.age = 25;
//    p.name = @"lyh"; // readonly 只讀屬性
    p.height = 1.71;
    p.weight = 65.0;
    NSLog(@"height = %f",[p abc]);
    [p tiZhong:66.0];
    NSLog(@"weight = %f",[p weight]);
    
    [p setMarried:YES];
    /*
    if ([p married]) {
        NSLog(@"已婚");
    }
    else
    {
        NSLog(@"未婚");
    }*/
    if ([p isMarried]) {
        NSLog(@"已婚");
    }
    else
    {
        NSLog(@"未婚");
    }
    return 0;
}

Person
>>>.h
#import <Foundation/Foundation.h>

@interface Person : NSObject

/*
 如果給一個屬性 同時提供了getter/setter方法,那么我們稱這個屬性為 可讀可寫屬性
 如果 只 提供getter方法, 那么我們稱這個屬性為 只讀屬性
 如果 只 提供setter方法, 那么我們稱這個屬性為 只寫屬性
 如果既沒有提供getter 也沒有提供setter方法,那么 我們稱這個屬性為私有屬性
 
 格式
 @property (屬性修飾符) 數(shù)據(jù)類型 變量名稱;
 
 readonly   : 代表只生成getter方法 不生成setter方法
 readwrite  : 代表即生成getter方法,也生成setter方法 (默認(rèn)情況下@property 是 readwrite)
 只寫的系統(tǒng)不提供 需要程序員手動寫
 */
@property int age;

#pragma mark 1.修改getter方法名稱
/*
 系統(tǒng)默認(rèn)生成的方法名稱
 - (void)setHeight:(int)height;
 - (double)height;
 強制修改getter方法名稱
 getter=abc
 - (double)abc;
 */
@property(getter=abc) double height;
#pragma mark 2.修改setter方法名稱
/*
 系統(tǒng)默認(rèn)生成的方法名稱
 - (void)setWeight:(int)weight;
 - (double)weight;
 強制修改setter方法名稱
 setter=tiZhong:
 - (void)tiZhong:(int)weight;
 */
@property(setter=tiZhong:) double weight;
@property(readonly) NSString *name;

#pragma mark 3.開發(fā)中 最常見修改getter方法名稱,而修改setter名稱比較少
// 是否已婚
// 程序員之間有一個約定, 一般情況下獲取BOOL類型的屬性的值,我們都會將獲取的方法名稱改為isXXX
@property(getter=isMarried) BOOL married;



@end

>>>.m
#import "Person.h"

@implementation Person

@end

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末狈网,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌拓哺,老刑警劉巖害淤,帶你破解...
    沈念sama閱讀 222,946評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異拓售,居然都是意外死亡窥摄,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,336評論 3 399
  • 文/潘曉璐 我一進店門础淤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來崭放,“玉大人,你說我怎么就攤上這事鸽凶”疑埃” “怎么了?”我有些...
    開封第一講書人閱讀 169,716評論 0 364
  • 文/不壞的土叔 我叫張陵玻侥,是天一觀的道長决摧。 經(jīng)常有香客問我,道長凑兰,這世上最難降的妖魔是什么掌桩? 我笑而不...
    開封第一講書人閱讀 60,222評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮姑食,結(jié)果婚禮上波岛,老公的妹妹穿的比我還像新娘。我一直安慰自己音半,他們只是感情好则拷,可當(dāng)我...
    茶點故事閱讀 69,223評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著曹鸠,像睡著了一般煌茬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上彻桃,一...
    開封第一講書人閱讀 52,807評論 1 314
  • 那天坛善,我揣著相機與錄音,去河邊找鬼叛薯。 笑死浑吟,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的耗溜。 我是一名探鬼主播组力,決...
    沈念sama閱讀 41,235評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼抖拴!你這毒婦竟也來了燎字?” 一聲冷哼從身側(cè)響起腥椒,我...
    開封第一講書人閱讀 40,189評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎候衍,沒想到半個月后笼蛛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,712評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡蛉鹿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,775評論 3 343
  • 正文 我和宋清朗相戀三年滨砍,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片妖异。...
    茶點故事閱讀 40,926評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡惋戏,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出他膳,到底是詐尸還是另有隱情响逢,我是刑警寧澤,帶...
    沈念sama閱讀 36,580評論 5 351
  • 正文 年R本政府宣布棕孙,位于F島的核電站舔亭,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蟀俊。R本人自食惡果不足惜钦铺,卻給世界環(huán)境...
    茶點故事閱讀 42,259評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望欧漱。 院中可真熱鬧职抡,春花似錦、人聲如沸误甚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,750評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽窑邦。三九已至,卻和暖如春壕探,著一層夾襖步出監(jiān)牢的瞬間冈钦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,867評論 1 274
  • 我被黑心中介騙來泰國打工李请, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瞧筛,地道東北人。 一個月前我還...
    沈念sama閱讀 49,368評論 3 379
  • 正文 我出身青樓导盅,卻偏偏與公主長得像较幌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子白翻,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,930評論 2 361

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

  • 不要等到明天乍炉,明天太遙遠(yuǎn)绢片,今天就行動。 須讀:看完該文章你能做什么岛琼? 對property關(guān)鍵字的修飾符底循,深刻理解....
    liyuhong閱讀 221評論 0 0
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,341評論 25 707
  • 不要等到明天,明天太遙遠(yuǎn)槐瑞,今天就行動熙涤。 須讀:看完該文章你能做什么? 實例變量修飾符(四種狀態(tài) \公開\私有\(zhòng)受保...
    liyuhong閱讀 88評論 0 0
  • 今天是節(jié)點茸歧,我的幾個室友還在奮戰(zhàn),還沒有回家显沈。我無心睡眠软瞎,聽著窗外的雨聲,心里有些燥得慌拉讯。曾經(jīng)涤浇,我也是這奮戰(zhàn)中的一...
    蘇百慕閱讀 392評論 0 4
  • 心有所寄,就有欣喜魔慷。 這幾月看了些書只锭,感悟頗好。十分慶幸院尔,自己沒有陷于繁瑣舊事和網(wǎng)絡(luò)諸群中蜻展,沒有虛耗時光與陌生友人...
    窗花閱讀 190評論 0 0