论坛首页 入门技术论坛

简单但有疑问的问题:overload是不是多态?

浏览 4313 次
该帖已经被评为新手帖
作者 正文
   发表时间:2007-09-12  
OO
我一直在很多文献中看到说override和overload是多态的表现,今天重读《thinking in java》第7章的摘要时发现一句话:函数重载有时候被说成是OO性质,只要不是动态绑定,就不是多态。
那么重载到底是不是?有疑问,请高手解答。
   发表时间:2007-09-12  
overload,很多书上说这是方法意义上的多态,不过我觉的这些都只是名词之争,知道什么意义就好了,不用理会。
0 请登录后投票
   发表时间:2007-09-18  
overload是多态的一种表现.compiler在编译时会决定到底是调用那个方法,因为方法名相同,只有参数不同。所以overload也是多态的一种表现,而不仅仅是override。
0 请登录后投票
   发表时间:2007-09-18  
dennis_zane 写道
overload,很多书上说这是方法意义上的多态,不过我觉的这些都只是名词之争,知道什么意义就好了,不用理会。

支持这种说法
0 请登录后投票
   发表时间:2007-09-18  
malphi 写道
《thinking in java》第7章的摘要时发现一句话:函数重载有时候被说成是OO性质,只要不是动态绑定,就不是多态

主要问题确定对多态这个词的理解,如果按照《thinking in java》的理解,多态是只有到执行环境中才能确定要执行的代码,即指的是后绑定,那么Overload就不属于多态,而且在像C++这样需要明确声明后编联的语言中,如果不将Override方法声明为Virtual的,也应该就不属于多态了
0 请登录后投票
   发表时间:2007-09-18  
管它重载不重载,其实就是两个方法,多什么态
0 请登录后投票
   发表时间:2007-09-19  
coolzyt 写道
管它重载不重载,其实就是两个方法,多什么态


这个说法很经典,支持!
0 请登录后投票
   发表时间:2007-09-19  
overload是广义的多态,不是狭义的多态。狭义的多态指的是泛型,也就是函数指针。广义的多态包括overload和模板等。
0 请登录后投票
   发表时间:2007-09-20  
人家说 Overload 是静态多态,Override 是动态多态;
反正无所谓啦,会用就好。
那些破概念搞的人头晕。
什么 IOC、AOP、ORM、MVC 啊,不用太炒作的。
理解就好,会用万岁~!
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics