舉例如下
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()); } } /* 《程式語言教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:interface3.cs 功能:示範 C# 程式 作者:張凱慶 時間:西元 2013 年 6 月 */
Demo 是用來記錄長度的類別, InchDimension 為英吋單位的介面, Dimension 則是我們一般常用的公分,兩者宣告相同名稱的 Length() 方法 (method)
class Demo : InchDimension, Dimension {
我們打算以 Dimension 為預設,因此直接實作即可
public float Length() { return length; }
InchDimension 的 Length() 則要加上介面名稱
float InchDimension.Length() { return length / 2.54f; }
由於 Dimension 為預設,因此可以直接存取,至於 InchDimension 則要轉換型態後才可使用 InchDimension 的 Length()
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# 程式設計手冊)
沒有留言:
張貼留言