基于C#的接口基礎教程之三_.Net教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:基于C#的接口基礎教程之二
        第二節 定義接口   從技術上講,接口是一組包含了函數型方法的數據結構。通過這組數據結構,客戶代碼可以調用組件對象的功能。   定義接口的一般形式為: [attributes] [m

        第三節 定義接口成員

        接口可以包含一個和多個成員,這些成員可以是方法、屬性、索引指示器和事件,但不能是常量、域、操作符、構造函數或析構函數,而且不能包含任何靜態成員。接口定義創建新的定義空間,并且接口定義直 接包含的接口成員定義將新成員引入該定義空間。

        說明:

        1、接口的成員是從基接口繼承的成員和由接口本身定義的成員。

        2、接口定義可以定義零個或多個成員。接口的成員必須是方法、屬性、事件或索引器。接口不能包含常數、字段、運算符、實例構造函數、析構函數或類型,也不能包含任何種類的靜態成員。

        3、定義一個接口,該接口對于每種可能種類的成員都包含一個:方法、屬性、事件和索引器。

        4、接口成員默認訪問方式是public。接口成員定義不能包含任何修飾符,比如成員定義前不能加abstract,public,protected,internal,private,virtual,override 或static 修飾符。

        5、接口的成員之間不能相互同名。繼承而來的成員不用再定義,但接口可以定義與繼承而來的成員同名的成員,這時我們說接口成員覆蓋了繼承而來的成員,這不會導致錯誤,但編譯器會給出一個警告。關閉警告提示的方式是在成員定義前加上一個new關鍵字。但如果沒有覆蓋父接口中的成員,使用new 關鍵字會導致編譯器發出警告。

        6、方法的名稱必須與同一接口中定義的所有屬性和事件的名稱不同。此外,方法的簽名必須與同一接口中定義的所有其他方法的簽名不同。

        7、屬性或事件的名稱必須與同一接口中定義的所有其他成員的名稱不同。

        8、一個索引器的簽名必須區別于在同一接口中定義的其他所有索引器的簽名。

        9、接口方法聲明中的屬性(attributes), 返回類型(return-type), 標識符(identifier), 和形式參數列表(formal-parameter-lis)與一個類的方法聲明中的那些有相同的意義。一個接口方法聲明不允許指定一個方法主體,而聲明通常用一個分號結束。

        10、接口屬性聲明的訪問符與類屬性聲明的訪問符相對應,除了訪問符主體通常必須用分號。因此,無論屬性是讀寫、只讀或只寫,訪問符都完全確定。

        11、接口索引聲明中的屬性(attributes), 類型(type), 和形式參數列表 (formal-parameter-list)與類的索引聲明的那些有相同的意義。

        下面例子中接口IMyTest包含了索引指示器、事件E、 方法F、 屬性P 這些成員:

      interface IMyTest{
       string this[int index] { get; set; }
       event EventHandler E ;
       void F(int value) ;
       string P { get; set; }
      }
      public delegate void EventHandler(object sender, EventArgs e) ;

        下面例子中接口IStringList包含每個可能類型成員的接口:一個方法,一個屬性,一個事件和一個索引。

      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; }
      }

      分享:基于C#的接口基礎教程之一
        第一節 接口慨述   接口(interface)用來定義一種程序的協定。實現接口的類或者結構要與接口的定義嚴格一致。有了這個協定,就可以拋開編程語言的限制(理論上)。接口可以從多個基接

      共2頁上一頁12下一頁
      來源:模板無憂//所屬分類:.Net教程/更新時間:2008-08-22
      相關.Net教程