PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 七嘴八舌異言堂
帳戶
密碼
 

回應
 
主題工具
質量變數
Amateur Member
 

加入日期: Feb 2015
文章: 40
關於多型(polymorphism)、overloading

我想請教一下大家,overloading算多型嗎?

我查了很多資料,有的說overloading屬於多型,又有的說不是....

有的網站寫說大部分的人會把overloading也當成多型的一種,但這觀念是錯誤的

不過學校老師教說overloading、override(沒爭議)都是屬於多型的一種。

想請教一下各位的看法,實際又是如何呢?
     
      
舊 2015-03-05, 11:44 PM #1
回應時引用此文章
質量變數離線中  
FatJohn
Major Member
 
FatJohn的大頭照
 

加入日期: Feb 2003
您的住址: 新北市
文章: 222
我覺得有時候這種大家吵半天沒個準的東西自己也不用煩惱,有自己的看法就好,但要記得這是情也不自己說的就是"對"的
而且在這個地方爭對錯似乎沒什麼意義耗費心神...
知道怎麼去利用這個機制比較重要

個人淺見
 
__________________
就算整個世界被大雨顛倒,我會給妳懷抱,受不了,看見妳背影來到,寫下我度秒如年難挨的離騷∼

我的Blog:http://fatjohn0927.wordpress.com/
舊 2015-03-06, 01:32 AM #2
回應時引用此文章
FatJohn離線中  
zing115
Regular Member
 

加入日期: Jan 2013
文章: 88
我覺得 function overloading
就只是方便你用同樣的名稱來寫出多個不同參數的 function

polymorphism 的話
可以參考這一篇

搞笑談軟工: 什麼是物件導向(3):Polymorphism
http://teddy-chen-tw.blogspot.tw/20...lymorphism.html

一個訊息(message or event or stimulus)的意義是由接收者(接收到這個訊息的物件)來解釋,而不是由訊息發出者(sender)來解釋。所以,在runtime時只要接受者換成不同的物件或是instance,系統的行為就會改變。具有這樣的特性就稱之為polymorphism。還是不懂,對,很正常。不過在看一個活生生的例子鄉民們就應該懂了。

***

Teddy(sender,等一下準備送出信息的物件)走在路上看到前方有兩位名人,分別是「林志玲」與「阿美姐」(等一下準備接收訊息的兩個物件),於是大喊一聲「美女請留步(訊息)」。理論上Teddy期待只有「林志玲」會「回頭」(訊息接收者的行為),沒想到「阿美姐」也回頭了...XD。所以說,一個訊息的解釋是由接收者來決定的,而不是送出者。如果一個系統具有這樣的特性,那麼我們就說這個系統具備多型的行為。
舊 2015-03-06, 09:31 AM #3
回應時引用此文章
zing115離線中  
f3346
Master Member
 
f3346的大頭照
 

加入日期: Mar 2012
文章: 2,346
舊 2015-03-06, 09:34 AM #4
回應時引用此文章
f3346離線中  
T磨人v2
*停權中*
 

加入日期: Mar 2014
文章: 49
其實 interface 我個人覺得也是可以實作成多型 , Ex 如下 (個人淺見 高手們 笑笑就好)
interface IWoman{
public bool isBeauty();
{

class 林志玲 implements IWoman {
public bool isbeauty() { return true; }
}

class 如花 implements IWoman {
public bool isbeauty() { return false; }
}

此文章於 2015-03-06 09:43 AM 被 T磨人v2 編輯.
舊 2015-03-06, 09:41 AM #5
回應時引用此文章
T磨人v2離線中  
kenchen_1226
Advance Member
 

加入日期: Jun 2010
文章: 333
管他是不是多型
知道怎麼用, compiler 過,執行沒問題
又有效率
管他叫什麼
舊 2015-03-06, 09:58 AM #6
回應時引用此文章
kenchen_1226離線中  
elase2000
Amateur Member
 

加入日期: Mar 2010
文章: 42
多型是概念,overloading是一種實作的方式。
舊 2015-03-06, 10:38 AM #7
回應時引用此文章
elase2000離線中  
dino750
Major Member
 

加入日期: Jan 2002
文章: 187
引用:
作者FatJohn
我覺得有時候這種大家吵半天沒個準的東西自己也不用煩惱,有自己的看法就好,但要記得這是情也不自己說的就是"對"的
而且在這個地方爭對錯似乎沒什麼意義耗費心神...
知道怎麼去利用這個機制比較重要

個人淺見


同意+1

有支援overloading, override的語言,通常也會有支援Polymorphism,知道什麼時候用,用的有效率就好.
舊 2015-03-06, 11:04 AM #8
回應時引用此文章
dino750離線中  


回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是06:49 PM.


vBulletin Version 3.0.1
powered_by_vbulletin 2025。