首页 > 代码库 > OC 整理 2

OC 整理 2

*  实例变量的可见度 : 一共三种

 @public :公共的,在任何文件中都可以访问.(访问方式是通过对象+指向操作符 + 实例变量,例如:per->Name).

 @protected :受保护的,有一定的访问权限,只允许在本类文件以及子文件中访问,其他文件不可访问.

 @private:私有的,只允许在本类文件中访问,不可以在子文件以及其他文件访问.

默认的可见度是@protected

 0.0 ... ...为什么不声明为@public?

 

 1, 声明为@public的实例变量,外部就可以访问以及修改,会影响内部的一个实现,暴露实现细节

 2, 违背oc面向对象三大特征之一---封装(封装的思想是隐藏内部实现,提供外接访问的接口)

 0.0 ... ...为什么不声明为@private?

 1, 声明为@private的实例变量,子类文件访问不到,所以子类文件还需要重新定义声明

 2, 违背了oc 面向对象特征之一-----继承(父类有的东西,子类也有,可访问).

 

//+ 号方法不能使用实例变量...

//实例变量是依托于对象存在的,只有有了对象,实例变量才会有空间.



 //self 谁调用该方法 self 就是代表谁.

    //当方法是以 - 号方法时, 调用该方法的对象是谁,self就代表当前对象,

    //当方法是以+ 号 方法时,调用该方法的类是谁,self就代表当前类   

    return self;