继承和多态之间的主要区别是什么?我今天在模块开卷考试结束时遇到了这个问题,发现自己迷路了。我正在阅读Head first Java,两个定义似乎完全相同。我只是想知道主要区别在于我自己的想法。我知道有很多类似的问题,但是,我没有看到哪些提供了明确的答案。
3 回答

慕容708150
TA贡献1831条经验 获得超4个赞
多态性:以类似方式处理不同类型的对象的能力。例如:长颈鹿和鳄鱼都是动物,动物可以Move
。如果您有一个实例,Animal
那么您可以在Move
不知道或关心它是什么类型的动物的情况下打电话。
继承:这是同时实现多态性和代码重用的一种方法。
其他形式的多态性:还有其他实现多态性的方法,比如接口,它只提供多态性但没有代码重用(有时候代码是完全不同的,比如Move
Snake Move
与Dog 会有很大不同,在这种情况下)在这种情况下,接口将是更好的多态选择。
在其他动态语言中,可以使用Duck Typing实现多态,即类甚至不需要共享相同的基类或接口,它们只需要一个具有相同名称的方法。或者像Javascript一样更加动态,你甚至根本不需要类,只是具有相同方法名称的对象可以多态使用。
添加回答
举报
0/150
提交
取消