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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© quanhui 黑马帝   /  2011-11-17 12:08  /  2092 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我知道重载是一种多态的表现,那么重写算多态么? 还有别的什么也算是多态么?

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

5 个回复

倒序浏览
我的理解:
多态性就是方法重载和重写
overloading 和 overriding

oop中多态性一般有两方面,
一是纵向的,就是父类和子类之间的多态,子类重写了父类的同名同参的方法,通过父类对象的引用或者指针调用子类对象的方法。
另一个就是在类中重载方法,通过对象的引用或指针调用同一个方法名称,通过不同的参数有不同的实现,暂且成为横向的多态吧。

以上是我的理解,如有不对,请高手纠正。

其实我觉得这个理论意义比较大,但是在实际应用中似乎没多大意义。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
多态存在于继承中。Fu f = new Zi();当父类的引用指向了,子类的对象时,就出现了多态,多态就是事物的多种形态。 动物 d = new 猫(); 猫既是动物,也是猫,猫具有动物的共同属性和方法,也具有猫所特有的属性和方法。
而重写,是存在于继承中的,子类继承父类后,子类就可以复写父类中的方法了。(override)
overwrite,和继承,多态,没有关系的,不要把他们搞混了。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
潜王伟 发表于 2011-11-17 13:44
我的理解:
多态性就是方法重载和重写
overloading 和 overriding

实际中会有用的,面试
回复 使用道具 举报
quanhui 发表于 2011-11-17 14:02
实际中会有用的,面试

也对,面试是会用到
回复 使用道具 举报
我理解为重载,重写加继承。这三个结合才能很好的表现出多态。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马