黑马程序员技术交流社区

标题: OC类的访问属性问题 [打印本页]

作者: 葬花桥    时间: 2014-4-22 23:28
标题: OC类的访问属性问题
本帖最后由 葬花桥 于 2014-4-23 10:38 编辑

OC的三种访问属性,@public,@private,@pretect有什么不同?考虑继承性呢?
作者: 愿我能    时间: 2014-4-23 00:22
@private 子类不能访问父类的声明@private成员变量吧,至于@protect 为默认的,子类可以访问,@public可以让外部类访问
作者: 又召    时间: 2014-4-23 00:38
@public : 在任何地方都能直接访问对象的成员变量
@private : 只能在当前类的对象方法中直接访问(@implementation中默认是@private)
@protected : 可以在当前类及其子类的对象方法中直接访问  (@interface中默认就是@protected)
@package : 只要处在同一个框架中,就能直接访问对象的成员变量

作者: 戴文婷    时间: 2014-4-23 09:11
@public 其他类能直接访问
@private 只有自己类能访问,子类也不行。
@pretect 自己以及子类能访问
@package 同一框架能使用,不同框架不行,一般不常用。
作者: 葬花桥    时间: 2014-4-23 10:39
愿我能 发表于 2014-4-23 00:22
@private 子类不能访问父类的声明@private成员变量吧,至于@protect 为默认的,子类可以访问,@public可以让外 ...

和C++一样,谢谢
作者: 葬花桥    时间: 2014-4-23 10:40
又召 发表于 2014-4-23 00:38
@public : 在任何地方都能直接访问对象的成员变量
@private : 只能在当前类的对象方法中直接访问(@implem ...

C+只有三种,现在知道了不过默认访问属性不同
作者: 葬花桥    时间: 2014-4-23 10:42
原来如此,谢谢解答
作者: 葬花桥    时间: 2014-4-23 10:44
马凯文 发表于 2014-4-23 08:29
四种,还有@package

现在知道了3Q




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2