從技術上講
定義接口成員
接口可以包含一個和多個成員
說明
· 接口的成員是從基接口繼承的成員和由接口本身定義的成員
· 接口定義可以定義零個或多個成員
· 定義一個接口
· 接口成員默認訪問方式是public
· 接口的成員之間不能相互同名
· 方法的名稱必須與同一接口中定義的所有屬性和事件的名稱不同
· 屬性或事件的名稱必須與同一接口中定義的所有其他成員的名稱不同
· 一個索引器的簽名必須區別於在同一接口中定義的其他所有索引器的簽名
· 接口方法聲明中的屬性(attributes)
· 接口屬性聲明的訪問符與類屬性聲明的訪問符相對應
· 接口索引聲明中的屬性(attributes)
下面例子中接口IMyTest包含了索引指示器
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
下面例子中接口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; }
}
接口成員的全權名
使用接口成員也可采用全權名(fully qualified name)
interface IControl {
void Paint( ) ;
}
interface ITextBox: IControl {
void GetText(string text) ;
}
其中Paint 的全權名是IControl
如果接口是名字空間的成員
namespace System
{
public interface IDataTable {
object Clone( ) ;
}
}
那麼Clone方法的全權名是System
定義好了接口
定義接口的一般形式為
[attributes] [modifiers] interface identifier [:base
說明
· attributes(可選)
· modifiers(可選)
表示覆蓋了繼承而來的同名成員
· 指示器和事件
· identifier
· base
· interface
· 接口可以是命名空間或類的成員
· 一個接口可從一個或多個基接口繼承
接口這個概念在C#和Java中非常相似
interface IShape {
void Draw ( ) ;
}
如果你從兩個或者兩個以上的接口派生
interface INewInterface: IParent
然而
interface IShape { public void Draw( ) ; }
下面的例子定義了一個名為IControl 的接口
interface IControl {
void Paint( ) ;
}
在下例中
interface IInterface: IBase
void Method
void Method
}
接口可由類實現
class Class
// class 成員
}
類的基列表同時包含基類和接口時
class ClassA: BaseClass
// class成員
}
以下的代碼段定義接口IFace
interface IFace {
void ShowMyFace( ) ;
}
不能從這個定義實例化一個對象
class CFace:IFace
{
public void ShowMyFace( ) {
Console
}
}
基接口
一個接口可以從零或多個接口繼承
接口基
接口類型列表說明
· 一個接口的顯式基接口必須至少同接口本身一樣可訪問
· 一個接口直接或間接地從它自己繼承是錯誤的
· 接口的基接口都是顯式基接口
interface IControl {
void Paint( ) ;
}
interface ITextBox: IControl {
void SetText(string text) ;
}
interface IListBox: IControl {
void SetItems(string[] items) ;
}
interface IComboBox: ITextBox
IComboBox 的基接口是IControl
· 一個接口繼承它的基接口的所有成員
員SetText 和 SetItems
· 一個實現了接口的類或結構也隱含地實現了所有接口的基接口
接口主體
一個接口的接口主體定義接口的成員
interface
{ interface
From:http://tw.wingwit.com/Article/program/net/201311/11751.html