天天看點

OC中@property的使用

Person.h

@interface Person : NSObject

@property int age; // 做了三件事情,1生成private int _age;2生成setter和getter的聲明;3生成setter和getter的實作;

@end

Person.m

@implementation Person

@end

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

int main(int agrc, const char* argv[]) {
<span style="white-space:pre">	</span>Person *p = [Person new];
<span style="white-space:pre">	</span>p.age = 10;
<span style="white-space:pre">	</span>int a = p.age;
<span style="white-space:pre">	</span>return 0;
}
           

注意:這裡生成的是private int  _age;類型的成員變量。

子類是通路不了的。如果想要子類通路。

需要采用如下的方式:Person.h檔案改變即可,Person.m檔案不用改變。

Person.h
@interface Person : NSObject{
	@protected
	int _age;
}
@property int age;
@end
           

繼續閱讀