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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© gzbbxu 中级黑马   /  2013-6-29 15:15  /  1488 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 孙百鑫 于 2013-6-30 18:19 编辑

重写是父类的引用,指向子类的对象,可以说是对同一个指令所做出的不同反应。
而重载,为什么也说它是多态的体现呢?
况且,多态的前提是,必须是类与类之间有关系,要么继承要么实现,
我实现想不明白,重载那点符合这些前提?[/
color]

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1 赞一个!

查看全部评分

4 个回复

倒序浏览
曾和楼主一样,在这个问题上纠结过一段时间,后来也读了一些资料,有了一些个人的想法。
如果从JAVA面向对象的方面来说,重载不是多态的,因为是重载是发生在同一类中,并不涉及到类与类之间的关系。
但是从一个方法的多种形态(不同参数和结果)这一点上来说,重载也是符合多态的要求的。只不过这个多态并不是面向对象中的多态。也或者说有一个更专业的名词来定义这里说说的多态,只不过我还不知道而已。。。
所以单从面向对象的方面来说,个人认为重载不属于多态。

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1 赞一个!

查看全部评分

回复 使用道具 举报
这只是一种概念,,楼主不必纠结,,本身发明Java的人也纠结这个问题,,我们又何必烦恼呢,,拿来用不就好了,,

Thinking in C++中认为:多态的实现方法只有一个,也就是virtual function。

而也有其它的一些人认为,实现多态的方法很多。

国外的讨论,也证明overload是否多态是个问题。

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1 赞一个!

查看全部评分

回复 使用道具 举报
原来如此。不就结了
回复 使用道具 举报
学习了,呵呵,3楼都参与到国外了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马