最近看 Thinking In Java 明确多态是运行时绑定、后期绑定、动态绑定。
而多态的三个必要条件是:
1 )继承
2 )重写
3 )父类引用类型指向子类对象
从这里分析多态似乎跟重载没有关系? 有点懵逼,求解答
1
zhiyuan91 2016-09-12 12:54:31 +08:00 1
多态跟重载没关系
|
2
SoloCompany 2016-09-12 13:13:23 +08:00 via iPhone
overload 编译时绑定
override 运行时绑定 请先搞清楚你想要的概念 |
3
XhstormR 2016-09-12 13:15:30 +08:00 via iPhone
重写和重载都属于多态吗?
|
4
bojun1995 OP @SoloCompany 这个我懂,我想知道的是重载(设计多态)算多态的一种吗?
|
5
SoloCompany 2016-09-12 13:36:03 +08:00 1
@bojun1995
https://en.wikipedia.org/wiki/Polymorphism_(computer_science) overload 应该是属于 Ad hoc polymorphism |
7
bombless 2016-09-12 15:21:39 +08:00
不重载你子类型不是跟父类型行为一样了么 233
不过有些人把这叫做覆写 |
8
hxsf 2016-09-12 15:41:16 +08:00 2
|
9
wizardforcel 2016-09-12 18:27:55 +08:00 via Android 3
多态:静态多态+动态多态。
静态多态:参数化多态+非参数化多态( ad-hoc ) 动态多态:虚函数 参数化多态:泛型 非参数化多态:重载 对应到 java 中,三个特性, overload 、 override 、 generic 算作多态。 |
10
bojun1995 OP @wizardforcel 谢谢你
|