黑马程序员技术交流社区

标题: 有关面向对象的问题 [打印本页]

作者: 明天,你好    时间: 2013-5-23 20:11
标题: 有关面向对象的问题
今天复习面向对象。老师说只要子类有的方法不管是父类类型的对象还是子类类型的对象,只要子类有的方法就不会去调用父类的。那之前说过的多态,父类对象不能调用子类特有的方法,难道重写了的方法不算是子类特有的么?
作者: joker_chan    时间: 2013-5-23 20:56
特有 就是特别 的意思啊。重写了 只是重写啊 父类还是有。子类也有。特有的意思是子类有父类没有。不然怎么会叫特有
作者: 悟佛修道    时间: 2013-5-23 21:25
你或许理解错了,继承父类以后,子类就有了父类所有的方法,相当于把父类的所有方法拿给了子类,而如果遇到父类拿过来的方法有与子类相同的,那么子类就会覆盖掉父类这个相同的方法。理解清楚是父类的方法拿到子类里面被子类覆盖了,并不是子类跑到父类去把父类的方法复写修改了!所以父类里面的方法是一直存在于父类里面的,它不可能被子类做任何改动。你可以简单理解为父类方法复制了一份到子类去了,而不是剪切到子类去。
作者: 骑上最爱    时间: 2013-5-23 21:58
记住个规律就行
在多态中成员函数的特点:
在编译时期:参阅引用型变量所属的类中是否有调用的方法。如果有,编译通过,如果没有编译失败。
在运行时期:参阅对象所属的类中是否有调用的方法。
简单总结就是:成员函数在多态调用时,编译看左边,运行看右边。
在多态中,成员变量的特点:
无论编译和运行,都参考左边(引用型变量所属的类)。
在多态中,静态成员函数的特点:
无论编译和运行,都参考做左边。


作者: 袁梦希    时间: 2013-5-24 01:11
楼主25分了  祝愿楼主早日登上黑马,多来论坛找我们玩  加油
作者: 小石头39910    时间: 2013-5-24 08:38
袁梦希 发表于 2013-5-24 01:11
楼主25分了  祝愿楼主早日登上黑马,多来论坛找我们玩  加油

版主为什么我不能回帖了,啊啊啊啊啊啊
作者: chensc    时间: 2013-5-24 08:44
学习学习!
作者: 王靖远    时间: 2013-5-24 17:53
重写的方法应该不能算是子类特有吧。我记得说的特有方法是不能复写的。也就是子类有 ,父类没有的方法才是特有方法。




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