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;