基于C#的接口基礎教程之二
2007/1/8 22:45:36
第二節(jié) 定義接口
 
    從技術上講,接口是一組包含了函數(shù)型方法的數(shù)據(jù)結構。通過這組數(shù)據(jù)結構,客戶代碼可以調(diào)用組件對象的功能。
 
    定義接口的一般形式為:
 
 
  [attributes] [modifiers] interface identifier [:base-list] {interface-body}[;]
 
    說明:
 
    1、attributes(可選):附加的定義性信息。
 
    2、modifiers(可選): 允許使用的修飾符有 new 和四個訪問修飾符。分別是:new、public、protected、internal、 private。在一個接口定義中同一修飾符不允許出現(xiàn)多次,new 修飾符只能出現(xiàn)在嵌套接口中,表示覆蓋了繼承而來的同名成員。The public, protected, internal, and private 修飾符定義了對接口的訪問權限。
 
    3、指示器和事件。
 
    4、identifier:接口名稱。
 
    5、base-list(可選):包含一個或多個顯式基接口的列表,接口間由逗號分隔。
 
    6、interface-body:對接口成員的定義。
 
    7、接口可以是命名空間或類的成員,并且可以包含下列成員的簽名: 方法、屬性、索引器 。
 
    8、一個接口可從一個或多個基接口繼承。
 
  接口這個概念在C#和Java中非常相似。接口的關鍵詞是interface,一個接口可以擴展一個或者多個其他接口。按照慣例,接口的名字以大寫字母"I"開頭。下面的代碼是C#接口的一個例子,它與Java中的接口完全一樣:
 
 
  interface IShape {
   void Draw ( ) ;
  }
 
    如果你從兩個或者兩個以上的接口派生,父接口的名字列表用逗號分隔,如下面的代碼所示:
 
 
  interface INewInterface: IParent1, IParent2 { }
 
    然而,與Java不同,C#中的接口不能包含域(Field)。另外還要注意,在C#中,接口內(nèi)的所有方法默認都是公用方法。在Java中,方法定義可以帶有public修飾符(即使這并非必要),但在C#中,顯式為接口的方法指定public修飾符是非法的。例如,下面的C#接口將產(chǎn)生一個編譯錯誤。
 
 
  interface IShape { public void Draw( ) ; }
 
    下面的例子定義了一個名為IControl 的接口,接口中包含一個成員方法Paint:
 
 
  interface IControl {
   void Paint( ) ;
  }
 
    在下例中,接口 IInterface從兩個基接口 IBase1 和 IBase2 繼承:
 
 
  interface IInterface: IBase1, IBase2 {
   void Method1( ) ;
   void Method2( ) ;
  }
 
    接口可由類實現(xiàn)。實現(xiàn)的接口的標識符出現(xiàn)在類的基列表中。例如:
 
 
  class Class1: Iface1, Iface2 {
   // class 成員。
  }
 
    類的基列表同時包含基類和接口時,列表中首先出現(xiàn)的是基類。例如:
 
 
  class ClassA: BaseClass, Iface1, Iface2 {
   // class成員。
  }
 
    以下的代碼段定義接口IFace,它只有一個方法:
 
 
  interface IFace {
   void ShowMyFace( ) ;
  }
 
    不能從這個定義實例化一個對象,但可以從它派生一個類。因此,該類必須實現(xiàn)ShowMyFace抽象方法:
 
 
  class CFace:IFace
  {
   public void ShowMyFace( ) {
    Console.WriteLine(" implementation " ) ;
   }
  }
 
 
  基接口
 
    一個接口可以從零或多個接口繼承,那些被稱為這個接口的顯式基接口。當一個接口有比零多的顯式基接口時,那么在接口的定義中的形式為,接口標識符后面跟著由一個冒號":"和一個用逗號","分開的基接口標識符列表。
 
    接口基:
 
    :接口類型列表說明:
 
    1、一個接

下一頁
返回列表
返回首頁 主站蜘蛛池模板: 国产精品xxxx国产喷水| 韩国女友的妈妈| 欧美一级做a影片爱橙影院| 动漫美女www网站免费看动漫| 日本三级韩国三级美三级91| 妖精视频一区二区三区| 久久国产亚洲观看| 欧美第一页在线观看| 国产区精品视频| 窝窝午夜看片成人精品| 好吊色欧美一区二区三区视频| 久久人人爽人人爽人人av东京热 | 国产精品亚洲一区二区三区久久 | 机机对机机的30分钟免费软件| 人妻系列无码专区久久五月天| 菠萝蜜亏亏带痛声的视频| 国产精品乱码久久久久久软件| bt天堂新版中文在线地址| 无翼乌全彩我被闺蜜男口工全彩| 亚洲国产精品成人午夜在线观看| 精品无码久久久久久久久| 国产孕妇做受视频在线观看| 97久久天天综合色天天综合色| 小说专区图片专区| 久久久久亚洲AV无码专区体验 | ts人妖系列在线专区| 日本一卡2卡3卡4卡无卡免费| 亚洲人成77777在线播放网站| 看**视频一级毛片| 四虎精品视频在线永久免费观看| 中文字幕日本最新乱码视频| 欧美一区2区三区4区公司贰佰| 亚洲色成人WWW永久网站| 免费成人激情视频| 国产精品高清一区二区三区| swag合集120部| 成人女人a毛片在线看| 久久人人妻人人做人人爽| 欧美亚洲色综久久精品国产| 亚洲综合久久1区2区3区| 精品人妻中文无码av在线|