我已经编程了几年了,而且我一直很难理解多态的概念。我有许多不同的教授试图以他们自己的方式向我解释这个概念,但无论如何,他们的解释都没有。
从我所研究的,用我自己的话来说:多态性基本上是一种方法或对象根据程序的上下文以不同的方式表现的能力。
我对这个定义是对的还是还有更多呢?
任何帮助将不胜感激! 谢谢!
答案 0 :(得分:0)
确切地说,
由于您正在尝试理解多态性,我认为您是oop的新手。
在oop中我们使用接口,我们将它们实现到我们的类中。
例如,我们有界面形状
类,三角形,矩形,圆形,我们可以为每个类实现这个接口。
接口就像类的原型一样,是对象的原型,对吧?
这个界面有像giveMeArea这样的方法,并且在每个类中都实现了这个方法,但是对于矩形,圆形或三角形有不同的方式。
由于它们继承了接口,我们可以把它们放到由这个接口构成的对象上,不知道形状是什么,我们可以调用giveMeArea,我们会得到正确的结果。
你可以拥有充满矩形,圆形,三角形的集合形状,你可以像调用shape.giveMeArea一样,即使你不知道你是用它来形成矩形还是圆形,你只需将它称为形状,多态性将为您提供正确的区域。
希望我帮助过你。