温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

OC 整理 2

发布时间:2020-04-17 15:44:49 来源:网络 阅读:281 作者:缘起愿落 栏目:开发技术

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

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


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI