访问修饰符: 用来修饰属性的(不能修改方法). 可以限定对象在一定范围内访问
@private 私有 只能在本类方法实现中访问
@protected 受保护的 只能在本类方法,子类方法实现中访问
@package 框架 被修饰的属性,可以有当前框架中访问
@public 公共的 只要创建对象,可以在任意的地方访问
不写默认: @protected
注意: 子类仍然可以继承父类的私有属性,只不过,在子类中无法直接访问从父类继承过来的私有属性,
如果父类中有一个方法为属性赋值或取值,那么子类可以调用这个方法间接的访问父类的私有属性.
访问修饰符的作用域:直接遇到另一个访问修饰符或结束大括弧为止,都是最近的修饰符. 如:
@private
NSString *_name;
@public
int _age;
int weight; //也是@public
使用建议:
1. @public 无论什么时候都不要使用,属性不要直接暴露给外界
2. 推荐使用默认的, @protected
-私有属性: 将属性写在方法实现中 与 在声明中标记为@private 属性 是等同的,里面的属性就变为私有.
不同的是: 各种访问修饰符无效,外界XCode 也不会提示
-私有方法: 默认只有创建其对象,就可以访问其方法. 私有(只能在本类的其它方法中调用): 只有实现,无声明**