Windows 2000 統合 COM 與 MTS 為 COM+,開啟了企業級組件服務新紀元。C# 作為 .NET 原生語言,提供了優雅、型別安全、版本容錯的介面機制,成為構建可靠桌面與分散式應用的核心基石。
為什麼需要介面?
- 契約與實現分離:介面定義「做什麼」,類別決定「怎麼做」
- 多型替換:同一介面多種實現,執行期動態切換(策略模式、插件架構)
- 解耦合作:團隊平行開發,僅依賴介面組件編譯,實現組件延遲綁定
- 版本演進:新增介面不破壞舊客戶,實現「介面不變、實現可變」
本章知識地圖
- 組件程式設計基礎:架構演進、組件定義、介面含義、組件化方法論
- 介面定義語法:宣告、修飾詞、繼承、成員類型
- 介面成員詳解:方法、屬性、索引子、事件、存取規則、全權名稱
- 介面實現機制:隱式/顯式實現、介面映射規則、繼承與重新實現、虛方法分派
- 抽象類別 vs 介面:核心差異、選型決策、混合應用模式
關鍵概念預覽
interface 關鍵字宣告,成員預設 public,不可加修飾詞
- 支援多重繼承(介面繼承介面),類別可實現多個介面
- 顯式實現:
void IFace.Method() 僅能透過介面引用呼叫,解決同名衝突、隱藏實現細節
- 介面映射:編譯器依優先序(顯式 > 公有 > 基類)綁定成員
- 抽象類別可部分實現介面,將方法映射至
abstract 成員供衍生類完成
掌握 C# 介面技術,是從「物件導向」邁向「組件導向」程式設計的關鍵轉折點。