當前位置:編程學習大全網 - 編程語言 - 接口的c#中的接口

接口的c#中的接口

C# 語言參考

接口(C# 參考)

定義:接口是壹種約束形式,其中只包括成員定義,不包含成員實現的內容。

目的:接口的主要目的是為不相關的類提供通用的處理服務,由於C#中只允許樹形結構中的單繼承,即壹個類只能繼承壹個父類,所以接口是讓壹個類具有兩個以上基類的唯壹方式。

聲明:接口聲明的方式與聲明類的方式相似,但使用的關鍵字是interface,而不是 class。

接口只包含方法、屬性、索引器和事件的簽名。方法的實現是在實現接口的類中完成的,如下面的示例所示: interface?ISampleInterface{//interfacemembersvoid?SampleMethod();}class?Implementation?Class:ISampleInterface{//實現接口成員。void?ISampleInterface.SampleMethod(){//方法實現。Main();}static?void?Main(){//定義壹個接口的實例變量obj。ISampleInterface?obj=new?ImplementationClass();//調用(obj)的成員方法。Console.Write(ok);Console.Read();}}接口成員的定義:與類成員的定義相似,但是要註意:

不允許使用訪問修飾符(public,private,protected 或 internal),所有的接口成員都必須是公***的;

接口成員不能包含代碼實體;

接口成員不能定義字段成員;

接口成員不能用關鍵字static,virtual,abstrac t或 sealed 來定義;

類型定義成員是禁止的。

如果要隱藏繼承了基接口的成員,可以用關鍵字new來定義它們,例如: interface?IMyBaseInterface{void?DoSomething();}interface?IMyDerivedInterface:IMyBaseInterface{new?void?DoSomething();}備註 :

接口可以是命名空間或類的成員,並且可以包含下列成員的簽名:

方法屬性索引器事件壹個接口可從壹個或多個基接口繼承。

當基類型列表包含基類和接口時,基類必須是列表中的第壹項。

實現接口的類可以顯式實現該接口的成員。顯式實現的成員不能通過類實例訪問,而只能通過接口實例訪問,例如:

有關顯式接口實現的更多詳細信息和代碼示例,請參見顯式接口實現(C# 編程指南)。

示例

下面的示例演示了接口實現。在此例中,接口IPoint 包含屬性聲明,後者負責設置和獲取字段的值。Point 類包含屬性實現。 //keyword_interface_2.cs//Interfaceimplementationusing?System;interfaceIPoint{//Propertysignatures:intx{get; set;}inty{get; set;}}class?Point:IPoint{//Fields:private?int?_x;private?int?_y;//Constructor:public?Point(int?x,int?y){_x=x;_y=y;}//Propertyimplementation:public?int?x{get{return?_x;}set{_x=value;}}public?int?y{get{return?_y;}set{_y=value;}}}class?MainClass{static?void?PrintPoint(IPointp){Console.WriteLine(x={0},y={1},p.x,p.y);}static?void?Main(){Pointp=newPoint(2,3);Console.Write(MyPoint:);PrintPoint(p);}輸出MyPoint:x=2,y=3

  • 上一篇:用什麽軟件打開後綴ani文件?ani是什麽格式文件?
  • 下一篇:木工雕刻機應使用什麽控制系統?
  • copyright 2024編程學習大全網