顯示廣告
隱藏 ✕
看板 partyGameIntro
作者 party100046 (小仇)
標題 [物件導向] 繼承
時間 2012年03月20日 Tue. PM 04:05:19


所謂的繼承在物件導向觀念中,是根據現有類別來建立新類別的能力。

也就是子類別(Child Class)可以擁有某一個父類別(Parent Class)所擁有的方法(Method)與屬性(Property)

以提高方法、屬性的可重複使用性。而繼承又可以分為「單一繼承」與「多重繼承」。

單一繼承:


[圖]
 


所謂的單一繼承,只有一個子類別對應到一個父類別。(Only one)

多重繼承:


[圖]
 

所謂的多重繼承,一個子類別可對應到多個父類別。                            

以簡單的例子來說明一下。

假設有2個類別叫Car (汽車)、SportCar(跑車)

Car類別為父類別(統稱叫汽車),而SportCar(跑車)則為汽車的一種(子類別)

SportCar類別可以繼承汽車的一些基本特性(ex:輪胎數量 =4、方向盤 = 1、儀表盤 = 1...等)

而繼承的優點有:
	
	
	
	
1.容易達成軟體再利用(Software reuse),並減少相同功能的重覆開發。
	
	
	
	
2.可透過繼承的方式來擴充原有類別的功能或是測試父類別的功能。
	
	
	
	
3.只要利用匯入.NET組件檔(*.dll),不用透過原始程式碼就能進行類別的衍生。


而小仇所使用的程式語言是C#,而在C#中要使用繼承時要注意一些事項(C#不支援多重繼承唷):

1.子類別會繼承父類別的public、protected和internal成員,父類別尚未宣告存取修飾詞的「方法」、「屬性」和「欄位」時,
   預設為private(私有),故無法存取。

2.子類別沒辦法直接存取父類別的private成員,要存取父類別成員可以透過base關鍵字來存取父類別的屬性或方法。

3.子類別沒辦法繼承父類別的建構方法(Constructor)和解構方法(Destructor)。

4.語法中 class SportCar: Car {},我們可解釋為「SportCar類別是從Car類別衍生而來」。也就是說子類別是從父類別衍生出來的。

繼承的觀念在物件導向中是很好用的一種知識,會使用繼承對於寫程式的人來說,讓程式的理解度增加也不容易搞混。


--
※ 作者: party100046 時間: 2012-03-20 16:05:19
※ 編輯: party100046 時間: 2012-03-20 16:51:35
※ 看板: partyGameIntro 文章推薦值: 0 目前人氣: 0 累積人氣: 515 
分享網址: 複製 已複製
guest
x)推文 r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇