C# 快速導覽 - 實作多個介面







google_ad_client = "ca-pub-1277342310653446";
google_ad_host = "ca-host-pub-1556223355139109";
google_ad_host_channel = "L0004";
google_ad_slot = "7187368929";
google_ad_width = 728;
google_ad_height = 15;














google_ad_client = "ca-pub-1277342310653446";
google_ad_host = "ca-host-pub-1556223355139109";
google_ad_host_channel = "L0004";
google_ad_slot = "4683073635";
google_ad_width = 728;
google_ad_height = 90;












公告



《如何自學程式設計》入選 Google Play 台灣地區2016年度最佳書籍|本站於 Google Play 銷售電子書。
預計之後會調整本站內容,凡是有兩個版本的教材,舊版本將刪除。













google_ad_client = "ca-pub-1277342310653446";
google_ad_host = "ca-host-pub-1556223355139109";
google_ad_host_channel = "L0004";
google_ad_slot = "5435125940";
google_ad_width = 728;
google_ad_height = 15;


























C# 快速導覽 - 實作多個介面






類別 (class) 可以實作多個介面 (interface) ,此時用分號間隔類別名稱即可。



舉例如下
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;
}



InchDimensionLength() 則要加上介面名稱
float InchDimension.Length() {
return length / 2.54f;
}



由於 Dimension 為預設,因此可以直接存取,至於 InchDimension 則要轉換型態後才可使用 InchDimensionLength()
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# 程式設計手冊)







沒有留言:




















window.___gcfg = { 'lang': 'zh-TW' };





google_ad_client = "ca-pub-1277342310653446";
google_ad_host = "ca-host-pub-1556223355139109";
google_ad_host_channel = "L0004";
google_ad_slot = "5963585466";
google_ad_width = 728;
google_ad_height = 15;












Popular posts from this blog

迅雷 Thunder 7.9.43.5054 免安裝版 (9.1.41.914 安裝版) - 支援BT下載的萬用 檔案下載工具

qBittorrent 4.1.1 免安裝中文版 - 取代uTorrent的BT下載器

Nhiều đồn đoán cho rằng bộ đồ "phá vỡ quy tắc" của Meghan Markle được lấy cảm hứng từ trang phục của Công nương Diana