黑马程序员技术交流社区

标题: 在多态中为什么父类指针不能访问子类的成员变量? [打印本页]

作者: 杨勇    时间: 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