"属性的访问修饰符
1> 属性的访问修饰符是关键字,用来修饰在类的.h中直接声明的属性的关键字.
如下四种:
@public
@protected
@private
@package
2> 作用
一个类的.h中声明的属性如果用这四个关键字修饰,可以限制在当前类或者当前类的子类的内部或者外部访问这些属性的权限.
3> 用法
1, @public
在当前类/子类的外部: 可以用对象名->_属性名访问,也可以用get/set访问
在当前类/子类的内部: 可以直接用_属性名访问,也可以用set/get访问
2, @protected
在当前类/子类的外部: 不可以用对象名->_属性名访问,可以用get/set访问
在当前类/子类的内部: 可以直接用_属性名访问,也可以用set/get访问
3, @private ---> 私有属性
在当前类/子类的外部: 不可以用对象名->_属性名访问,可以用get/set访问
在当前类的内部: 可以直接用_属性名访问,也可以用set/get访问
在当子类的内部: 不可以直接用_属性名访问,可以用set/get访问
4, @package
在同一个框架内部,和@public等价
4>特点
1,一个类的.h中属性,如果什么都没有添加,默认是@protected.
2,属性的修饰符从这个属性向上找,找到距离它最近的修饰符.
@interface HMPerson : NSObject
{
@private
NSString *_name;
int _age;
@public
BOOL _sex;
double _heght;
}
@end