02-成员变量的作用域

 

1、作用域基本概念

局部变量、全局变量都有自己的作用域,成员变量也不例外。

作用域的概念:在什么范围内可以访问,这个范围就是作用域。

2、成员变量的作用域类型

 @public          在任何地方都可以直接访问对象的成员变量

 @protected    可以在当前类及其子类的对象方法中直接访问,外界想访问只能用set  get方法访问

 @private        只能在当前类的对象方法中直接访问,子类想访问父类中的私有变量,只能用set get方法访问

 @package      只要处在同一个“体系内”(框架)中,就能直接访问对象的成员变量,介于@private 和@public 之间

其中,默认作用域是 @protected

直接访问的意思是: 通过成员变量名访问。

3、补充

1>@implementation中也可以定义成员变量,作用域默认是private(私有)

2> @implementation中不能定义和@interface中同名的成员变量

3> 没有@interface 只有 @implementation也可以开发一个类,但是不推荐这个做。

 

人生之路,不忘初心,勿忘始终!
原文地址:https://www.cnblogs.com/xdl745464047/p/4000965.html