天天看点

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
           

继续阅读