首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> C# 入門

C# 定義介面:語法、基介面、介面主體與成員規則

     編輯:C# 入門

承接概述,本文詳細說明介面定義的完整語法、基介面列表、介面主體成員宣告規則與命名慣例。

完整定義語法

[attributes] [modifiers] interface identifier [: base-list] { interface-body } [;]

元素說明

  • attributes:屬性 (如 ComVisible)
  • modifiers:new (僅巢狀介面)、public/protected/internal/private
  • identifier:介面名稱,慣例以 I 開頭
  • base-list:一或多個基介面,逗號分隔
  • interface-body:成員宣告區塊

介面成員宣告規則

  1. 成員類型僅限:方法、屬性、事件、索引子
  2. 不可包含:常數、欄位、運算子、建構子、解構函式、靜態成員
  3. 成員預設 public,不可加上 abstract/virtual/override/static 等修飾詞
  4. 同一介面內成員名稱不可重複 (方法簽章需唯一)
  5. 可定義與繼承成員同名成員 (視為覆寫),建議加 new 關鍵字抑制警告
  6. 方法名不可與屬性/事件同名
  7. 屬性/事件名不可與其他成員同名
  8. 索引子簽章需唯一

基介面繼承規則

  • 基介面存取層級不得低於衍生介面 (public 介面不可繼承 internal 介面)
  • 不可直接/間接繼承自己
  • 繼承具傳遞性:IComboBox : ITextBox, IListBox 同時擁有 IControl 成員
  • 實作衍生介面的類別隱含實作所有基介面

介面主體範例

public delegate void StringListEvent(IStringList sender);

public interface IStringList
{
    void Add(string s);                    // 方法
    int Count { get; }                     // 唯讀屬性
    event StringListEvent Changed;         // 事件
    string this[int index] { get; set; }   // 索引子
}

介面成員完整名稱

格式:介面名.成員名,如 IControl.Paint、ITextBox.SetText。若介面在命名空間內,完整名稱含命名空間:System.IDataTable.Clone。

命名慣例補充

  • 介面名以 I 大寫開頭 (PascalCase)
  • 方法用動詞或動詞片語
  • 屬性用名詞/形容詞
  • 事件用動詞過去分詞或 EventHandler 尾綴
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved