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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© whymerain 中级黑马   /  2015-3-21 12:04  /  874 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

    比如A对象没有写成员变量,只是@property自动生成了一个private类型的变量,那么看了视频都会知道子对象无法使用这个变量,但是如果新对象B,组合了A,即B拥有A,那么B能使用A的这个private变量吗?

2 个回复

倒序浏览
这个问题本身就有问题,既然是A的成员变量,B肯定是不能用的。你拥有电脑,但是你可以用电脑的牌子么?牌子是电脑的,只有电脑自己能用。
你只能说B所拥有的A可以使用A自己的成员变量。

可以这样实现在B的对象方法中间接调用对象A的成员变量:(场景是在B的对象方法中)
    - (void)test
     {            
            return    [_A 变量名];   
     }
这相当于在B的对象方法中调用了A的对象方法 ,而在A的对象方法中当然可以访问A的成员变量
回复 使用道具 举报
dio925_heima 发表于 2015-3-21 12:50
这个问题本身就有问题,既然是A的成员变量,B肯定是不能用的。你拥有电脑,但是你可以用电脑的牌子么?牌子 ...

恩,这样通过对象A 调用A的set,get方法~~谢谢啦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马