黑马程序员技术交流社区
标题:
在多态中为什么父类指针不能访问子类的成员变量?
[打印本页]
作者:
杨勇
时间:
2014-5-4 11:45
标题:
在多态中为什么父类指针不能访问子类的成员变量?
问题.png
(35.83 KB, 下载次数: 171)
下载附件
2014-5-4 11:45 上传
作者:
桑托尔
时间:
2014-5-4 11:56
本帖最后由 桑托尔 于 2014-5-4 12:23 编辑
从逻辑上讲,人是动物,但动物未必是人。
多态的内涵是一个函数或方法可以由不同的子类来调用,以产生不同的效果。这样提高了代码的灵活性和重用性。就好比NSObject有个alloc方法 还有个init方法。Person调用 就会生成一个Person的对象,Dog调用,就会生成一个dog的成员变量。
父类调用子类方法,只是MJ老师给咱们证明OC是弱语法的一个例子,没必要在实际应用中纠结
作者:
郑亚鸽
时间:
2014-5-4 14:49
Person类是NSObject类的子类,子类Person能够继承父类NSObject中的方法和成员变量,但是父类NSObject并不能继承子类Person中的方法和成员变量,age是子类Person中的一个成员变量,NSObject类的对象不能调用age这个属性,故o.age不能这样使用
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2