A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 葬花桥 中级黑马   /  2014-4-22 23:28  /  1499 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 葬花桥 于 2014-4-23 10:38 编辑

OC的三种访问属性,@public,@private,@pretect有什么不同?考虑继承性呢?

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

8 个回复

倒序浏览
@private 子类不能访问父类的声明@private成员变量吧,至于@protect 为默认的,子类可以访问,@public可以让外部类访问
回复 使用道具 举报
@public : 在任何地方都能直接访问对象的成员变量
@private : 只能在当前类的对象方法中直接访问(@implementation中默认是@private)
@protected : 可以在当前类及其子类的对象方法中直接访问  (@interface中默认就是@protected)
@package : 只要处在同一个框架中,就能直接访问对象的成员变量

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
@public 其他类能直接访问
@private 只有自己类能访问,子类也不行。
@pretect 自己以及子类能访问
@package 同一框架能使用,不同框架不行,一般不常用。
回复 使用道具 举报
葬花桥 来自手机 中级黑马 2014-4-23 10:39:43
报纸
愿我能 发表于 2014-4-23 00:22
@private 子类不能访问父类的声明@private成员变量吧,至于@protect 为默认的,子类可以访问,@public可以让外 ...

和C++一样,谢谢
回复 使用道具 举报
葬花桥 来自手机 中级黑马 2014-4-23 10:40:58
地板
又召 发表于 2014-4-23 00:38
@public : 在任何地方都能直接访问对象的成员变量
@private : 只能在当前类的对象方法中直接访问(@implem ...

C+只有三种,现在知道了不过默认访问属性不同
回复 使用道具 举报
葬花桥 来自手机 中级黑马 2014-4-23 10:42:04
7#
原来如此,谢谢解答
回复 使用道具 举报
葬花桥 来自手机 中级黑马 2014-4-23 10:44:03
8#
马凯文 发表于 2014-4-23 08:29
四种,还有@package

现在知道了3Q
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马