我正在研究静态和动态多态性,并获得了以下链接:
http://guruzon.com/1/oop-concepts/polymorphism/what-is-polymorphism-example-tutorial-uml-diagram-notation
http://www.coderanch.com/t/379004/java/java/static-polymorphism-dynamic-polymorphism
http://javarevisited.blogspot.in/2011/08/what-is-polymorphism-in-java-example.html
在所有这些链接中,有人说重载是多态性的一个例子,然后我又遇到了另外两个地方,有人说重载与多态性无关,链接是:
Is Method Overloading considered polymorphism?
Head First Java第二版第7章(继承和多态)最后一个主题:重载方法

。
现在我不能确定它是否是一种多态性,如果不是,在OOPs中有没有什么叫做静态多态性的东西?
发布于 2013-12-26 20:16:42
有时,方法重载确实被称为“静态多态”的一个例子。这个名称确实有点武断,但也有可能做出有利于它的弱防御。
静态多态性的概念确实存在,而且它并不局限于OOP。当基于编译时类型信息实现多态行为时,多态(以不同形式表示相同行为的能力)可以是静态的。这种多态性最常见的例子是C++的模板:所有调用都是静态解析的,但是模板的行为是基于其类型参数的静态类型而改变的。
重载也可以被认为是基于对象的静态类型选择行为的一种原始形式。然而,这种重载的观点并不能帮助理解这个概念,还会让新手更难理解“真正的”(即动态的)多态性。这就是为什么“静态多态性”这个术语在Java书籍中并不常见的原因。
https://stackoverflow.com/questions/20784493
复制相似问题