当前位置 博文首页 > henanzhg的博客:Objective-C @property学习总结2
头文件中声明的成员变量,默认是protected,.m文件中声明的成员变量,默认是private的。合成属性时,@synthesize ?propertyName = _name;如果变量_name没有声明,系统会自动生成该成员变量且为private权限。如果_name已声明,它们会自动合成。
头文件申明的成员变量默认是protected的,因此,_dateOfBirth默认是protected类型。
.m文件如下图
.m文件里申明的成员变量默认为private类型,这里_hobby是private类型。
_weight会自动合成到@property中的weight属性中。
系统会自动生成_name,在这个类中可以使用。
@protected: 用此指令修饰的实例变量可以被该类和任何子类定的方法直接访问,这是默认情况。
@private: 用此指令修饰的实例变量可以被定义在该类的方法直接访问,但是不能被子类中定义的方法直接访问。
@public: 用此指令修饰的实例变量可以被该类中的方法直接访问,也可以被其它类定义的方法直接访问。
@package?关键字是在Mac 10.5 Objective-C runtime中新添加的,用以支持64-bit系统。
??
cs