成员变量作用域: oc

  1. 有四种;
  2. 公共作用域意味着在任何地方都可以访问成员变量;
  3. 私有作用域只能在当前类的对象方法中直接访问;如person.m;子类如果需要访问,需要通过set和get方法;
  4. 保护作用域能在当前类和子类的对象方法中直接访问;
  5. 父类的私有变量,在子类中不能直接访问,但是有私有变量的存在,需要通过set和get方法来访问;
  6.  
  7. 什么都不写,默认是protected;
  8. @public:在任何地方都能直接访问对象的成员变量
  9. @private:只能在当前类的对象方法中直接访问;
  10. @protected:可以在但钱类及子类的对象方法中直接访问(默认就是@protected)
  11. @package:只要处在同一个框架中就能直接访问对象的成员变量;
  12. 在.h文件的成员变量是默认是protected的,在.m中的成员变量是默认是private的,就算写成@public也没有用;对子类也是私有的;在.m文件中声明的成员变量名不能与.h文件中的相同个;除非把它放在.main文件里面才能直接访问;
  13. 超类就是父类superclass
原文地址:https://www.cnblogs.com/williamliuwen/p/5369833.html