[問題] 多型疑惑 請教

看板C_Sharp (C#)作者 (我愛阿蓉)時間14年前 (2011/07/05 08:35), 編輯推噓5(505)
留言10則, 2人參與, 最新討論串1/2 (看更多)
不好意思 以下有個簡單的測試程式 想要請教一下觀念 interface Foo { void Initial(); } public class Foo2 : Foo { public void Initial() { Console.WriteLine("Foo2"); } } public class Foo3 : Foo2 { public void Initial() { Console.WriteLine("Foo3"); } } 而我使用 Foo f = new Foo3(); f.Initial(); 我不懂為什麼是印Foo2.... 實作interface的class 應該就具有override的特性 那繼承Foo2的class 中的Initial 且compiler有warning說我Foo3::Initial遮蔽了 Foo2的Initial 我不太懂在C#這種情況 會造成我無法直接 呼叫Foo2的initial? 請各位給點意見吧...有點不太懂這地方 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 188.220.44.99

07/05 09:20, , 1F
C#要加上 override 關鍵字
07/05 09:20, 1F

07/05 09:21, , 2F
public override void Initial()
07/05 09:21, 2F

03/30 17:32, , 3F
子類別可以轉成父類別存在不是多型正常的用法嗎?
03/30 17:32, 3F

03/31 09:58, , 4F
多型意指相同的訊息給予不同的物件會引發不同的動作
03/31 09:58, 4F

04/01 09:47, , 5F
靜態多型:函式/運算多載 (overloading), 以靜態繫結
04/01 09:47, 5F

04/01 09:47, , 6F
的方式完成
04/01 09:47, 6F

04/01 09:47, , 7F
動態多型:函式覆載, 以動態繫結的方式完成
04/01 09:47, 7F

11/24 22:29, , 9F

11/24 22:31, , 10F
多型:使用同一個操作介面來操作不同的物件實例
11/24 22:31, 10F
文章代碼(AID): #1E4bnSF2 (C_Sharp)
討論串 (同標題文章)
文章代碼(AID): #1E4bnSF2 (C_Sharp)