iT邦幫忙

2

C#中,介面與類別(含抽象類別)之間的比喻

實作方法與屬性(用override):
相當於還錢

未實作方法與屬性(用abstract):
相當於債權或欠錢

介面:
相當於債權人,可遺留債權給子子孫孫沒有第幾代限制(多層介面繼承),或繼承不同的債權人的債權(多來源介面繼承)。

類別或抽象類別:
相當於債務人,須還錢,但最多可寬(abstract)限一代再還錢,即父債子一定要還(override),不可延展到父債孫還、父債曾孫還、父債曾曾孫還...依此類推,但是自己這一代所欠的錢(新的抽象方法或屬性)可再寬限一代才還,依此類推。

介面可繼承:介面
類別可繼承:介面、類別、抽象類別
抽象類別可繼承:介面、類別、抽象類別
各位前輩好,小弟是入門C#的菜鳥,最近學習到繼承的部分,對於介面、類別和抽象類別間的繼承關係很好奇,於是就用VS類別圖表檢視實際測試,整理出一些心得和比喻和大家分享,當中內容如有錯誤還望各位前輩不吝糾正,感激不盡^___^


0
ted99tw
iT邦高手 1 級 ‧ 2013-06-27 20:39:22

很酷,但不要太快陣亡,要持久些...

0
pantc328
iT邦研究生 1 級 ‧ 2013-06-28 09:44:39

apiece1983提到:
介面可繼承:介面

介面可繼承:介面
類別可繼承:類別、抽象類別

類別可實作:介面

抽象類別 稱虛擬方法,部分實作

介面賦予能力,溝通管道...跟類別計成沒關係

0
pajace2001
iT邦研究生 1 級 ‧ 2013-08-28 17:50:41

暈 感覺要唸過會計或是商科的邦友們比較能夠理解~
不過我怎麼覺得 Override 比較向搶劫/佔有 暈

我要留言

立即登入留言