1、作用域基本概念
局部变量、全局变量都有自己的作用域,成员变量也不例外。
作用域的概念:在什么范围内可以访问,这个范围就是作用域。
2、成员变量的作用域类型
@public 在任何地方都可以直接访问对象的成员变量
@protected 可以在当前类及其子类的对象方法中直接访问,外界想访问只能用set get方法访问
@private 只能在当前类的对象方法中直接访问,子类想访问父类中的私有变量,只能用set get方法访问
@package 只要处在同一个“体系内”(框架)中,就能直接访问对象的成员变量,介于@private 和@public 之间
其中,默认作用域是 @protected
直接访问的意思是: 通过成员变量名访问。
3、补充
1>@implementation中也可以定义成员变量,作用域默认是private(私有)
2> @implementation中不能定义和@interface中同名的成员变量
3> 没有@interface 只有 @implementation也可以开发一个类,但是不推荐这个做。