首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >方法重载是多态性的一种类型吗?

方法重载是多态性的一种类型吗?
EN

Stack Overflow用户
提问于 2013-12-26 20:03:41
回答 1查看 1.5K关注 0票数 2

我正在研究静态和动态多态性,并获得了以下链接:

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中有没有什么叫做静态多态性的东西?

EN

回答 1

Stack Overflow用户

发布于 2013-12-26 20:16:42

有时,方法重载确实被称为“静态多态”的一个例子。这个名称确实有点武断,但也有可能做出有利于它的弱防御。

静态多态性的概念确实存在,而且它并不局限于OOP。当基于编译时类型信息实现多态行为时,多态(以不同形式表示相同行为的能力)可以是静态的。这种多态性最常见的例子是C++的模板:所有调用都是静态解析的,但是模板的行为是基于其类型参数的静态类型而改变的。

重载也可以被认为是基于对象的静态类型选择行为的一种原始形式。然而,这种重载的观点并不能帮助理解这个概念,还会让新手更难理解“真正的”(即动态的)多态性。这就是为什么“静态多态性”这个术语在Java书籍中并不常见的原因。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20784493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档