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