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