舉例如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | interface InchDimension { float Length(); } interface Dimension { float Length(); } class Demo : InchDimension, Dimension { float length; public Demo( float len) { length = len; } public float Length() { return length; } float InchDimension.Length() { return length / 2.54f; } static void Main() { Demo d = new Demo(100.0f); System.Console.WriteLine( "Length(cm): {0}" , d.Length()); InchDimension i = (InchDimension) d; System.Console.WriteLine( "Length(in): {0}" , i.Length()); } } /* 《程式語言教學誌》的範例程式 檔名:interface3.cs 功能:示範 C# 程式 作者:張凱慶 時間:西元 2013 年 6 月 */ |
Demo 是用來記錄長度的類別, InchDimension 為英吋單位的介面, Dimension 則是我們一般常用的公分,兩者宣告相同名稱的 Length() 方法 (method)
9 | class Demo : InchDimension, Dimension { |
我們打算以 Dimension 為預設,因此直接實作即可
16 17 18 | public float Length() { return length; } |
InchDimension 的 Length() 則要加上介面名稱
20 21 22 | float InchDimension.Length() { return length / 2.54f; } |
由於 Dimension 為預設,因此可以直接存取,至於 InchDimension 則要轉換型態後才可使用 InchDimension 的 Length()
28 29 | InchDimension i = (InchDimension) d; System.Console.WriteLine( "Length(in): {0}" , i.Length()); |
編譯執行,結果如下

中英文術語對照 | |
---|---|
介面 | interface |
類別 | class |
方法 | method |
您可以繼續參考
介面 interface相關目錄
回 C# 快速導覽 回 C# 教材 回首頁參考資料
Standard ECMA-334 C# Language Specification msdn: HOW TO:使用繼承明確實作介面成員 (C# 程式設計手冊)
沒有留言:
張貼留言