OverRiding Vs PolyMorphism

蹲街弑〆低调 提交于 2019-11-29 14:55:02

问题


What is the difference between the two?

A super class having myMethod(int a) and an inheriting class having the same method, Is this overriding or polymorphism?

I am clear with the difference b/w overriding and overloading, but the polymorphism and overriding seems the same. Or are they?


回答1:


Overriding is when you call a method on an object and the method in the subclass with the same signature as the one in the superclass is called.

Polymorphism is where you are not sure of the objects type at runtime and the most specific method is called. Therefore the behaviour of the method called may differ, depending on the objects type at runtime.

Overriding is a type of polymorphism along with overloading and dynamic (late) binding. You can see more details here about the different types.




回答2:


I am doing my software architecture exam tomorrow, and this is what i have understood from my reading.

Polymorphism is a concept of object oriented programming that allows a field, in this case, an object, to be changed from one form to another. Poly = multiple, morph = change.

Overriding a method, is essentially a dynamic binding of a method which allows a method to be changed during run-time. It is a form of polymorphism since a method's functionality gets changed over the course of time.

I took some of my facts from here - https://beginnersbook.com/2013/03/polymorphism-in-java/




回答3:


yes...by using overriding we achieve the property of polymorphism ...when u have multiple class deriving from a single parent class ...there by using overriding ...we define the derived class method's functionality and as they are derived from same parent we show the property of polymorphism..



来源:https://stackoverflow.com/questions/7489335/overriding-vs-polymorphism

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!