OC語言day04-05property修飾符

pragma mark property修飾符

pragma mark 概念

pragma mark 代碼


#pragma mark property修飾符
#pragma mark 概念

#pragma mark 代碼
#import <Foundation/Foundation.h>
#pragma mark 類
#import "Person.h"
#pragma mark main函數
int main(int argc, const char * argv[])
{
    
    Person *p = [Person new];
//    p.age = 22;
//    p.name = "lyh";
//    p.height = 1.72;
//    p.weight = 65;
    
//    [p setName];
    
#warning 修改getter方法名稱
    p.height = 99;
    NSLog(@"height = %f",[p abc]);
    
#warning 修改setter方法名稱
    [p tiZhong:120.0];
    NSLog(@"weight = %f",[p weight]);
    
#warning 判斷是否已經 已婚了
    [p setMarried:YES];
    if ([p isMarried]) {
        NSLog(@"已婚");
    }
    else
    {
        NSLog(@"未婚");
    }
    return 0;
}


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

@interface Person : NSObject

/*
 如果給一個屬性 同時提供了getter/setter方法, 那么我們稱之為 這個屬性為 可讀可寫 屬性
 如果只提供了 getter方法, 那么我們稱之為 這個屬性為 只讀 屬性 (readonly) 只讀 (一般名字使用)
 如果只提供了 setter方法, 那么我們稱之為 這個屬性為 只寫 屬性
 
 如果既沒有提供getter也沒有提供setter方法, 那么我們稱這個屬性為私有屬性
//  m默認情況下, @proerterty 就是 read 我日俄特寫
 格式:
 @property (屬性修飾符) 數據類型 變量名稱;
 */
#warning readwrite(讀寫)默認
// readwrite(讀寫) : 代表及生成getter方法, 也生成setter方法
// 默認情況下 @property就是readwrite的
@property (readwrite)int age;
#warning 修改getter方法的名稱 (多用在于BOOL類型)
/*
 - (void)setHeight:(double)height;
 - (double)height;
 
 - (void)setHeight:(double)height;
 - (double)abc;
 */
@property (getter=abc)double height;

#warning 修改setter方法的名稱 (少用)
/*
 - (void)setWeight:(double)weight;
 - (double)weight;
 
 - (void)tiZhong:(double)weight;
 - (double)weight;
 */
@property (setter=tiZhong:)double weight;
#warning readonly(只讀)
// readonly : 代表只生成getter方法 不生成setter方法
@property (readonly) NSString *name;

#warning 例子 判斷是否已經 已婚了
/*
 isMarried 說明已經 已婚了
 
// 是否已婚
// 程序員之間有一個約定, 一般情況下 獲取BOOL類型的屬性的值,我們都會將 獲取的方法的名稱(get方法) 改為 isXXX
 */
@property (getter=isMarried)BOOL married;
@end
Person.m
#import "Person.h"

@implementation Person

@end

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • pragma mark property修飾符 pragma mark 概念 pragma mark 代碼 Per...
    liyuhong165閱讀 333評論 0 0
  • 概述在iOS開發中UITableView可以說是使用最廣泛的控件,我們平時使用的軟件中到處都可以看到它的影子,類似...
    liudhkk閱讀 9,093評論 3 38
  • 大綱 0.OC數據類型 1.聲明一個類 2.實現一個類 3.創建一個對象 4.對象的注意點 5.對象方法 6.類方...
    天天想念閱讀 1,147評論 0 3
  • 今天看到一篇不錯的文章關于OC內存管理的,轉載一下與你共享概述我們知道在程序運行過程中要創建大量的對象,和其他高級...
    niceSYT閱讀 469評論 0 2
  • 形成于睡夢中兩小時 夏日的工地 夏日的墻 深色森林的上空盤踞著 碎云徘徊不前 徘徊的征兆 黑鳥 在云端走 在發光
    雲歸閱讀 62評論 0 0