热门IT资讯网

OC 整理 2

发表于:2024-11-27 作者:热门IT资讯网编辑
编辑最后更新 2024年11月27日,* 实例变量的可见度 : 一共三种@public :公共的,在任何文件中都可以访问.(访问方式是通过对象+指向操作符 + 实例变量,例如:per->Name).@protected :受保护的,有一定

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

@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;


0