首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 介面核心觀念:面向介面程式設計入門

     編輯:關於C語言

什麼是介面?

介面定義一組契約:方法、屬性、事件、索引子的簽名,不包含任何實作。它是「能做什麼」的規範,而非「怎麼做」。

MSDN 定義:介面只包含方法、委派或事件的簽名。實作由實作介面的類別完成。

為什麼需要介面?

軟體設計核心原則:面向介面程式設計,依賴抽象而非具體。

  • 降低模組耦合
  • 支援多型替換
  • 利於單元測試與 Mock
  • 啟用插件架構與擴充點

介面基本語法


public interface IPlayer
{
    string GetName();        // 方法簽名
    string Show();           // 方法簽名
    // 也可定義屬性、事件、索引子
    string NickName { get; set; }
    event EventHandler OnPlay;
    string this[int index] { get; }
}

介面中的屬性定義

介面屬性只宣告存取子,不含欄位與邏輯:


// 介面
public interface INamed
{
    string Name { get; set; }
}

// 實作
public class Person : INamed
{
    private string _name;
    public string Name
    {
        get => _name;
        set => _name = value?.Trim() ?? string.Empty;
    }
}

常見誤區澄清

「介面是多此一舉,直接用類別不就好?」

錯。介面讓高層模組不依賴低層細節。若 `Game` 直接依賴 `Grandpa`、`Grandson` 具體類別,新增玩家類型就得修改 `Game`,違反開放封閉原則。

下一步

掌握介面定義後,接著學習:

  1. 顯式介面實作(解決同名衝突)
  2. 介面預設實作(C# 8.0+)
  3. 介面隔離原則(ISP)實務
  4. 依賴注入容器整合
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved