接口(interface,界面)的概念来源于组件编程的思想。接口定义统一的公用方法的原型,但是不包含方法的具体实现代码,方法体(代码)由实现接口的类来定义(编写)。
所以接口定义的是一种契约(contract),实现该接口的类则遵守(adhere)此契约。接口相当于组件的界面,供使用组件的用户查询和调用,而实现接口的类则是组件的编码模块本身。
在C# 中,一个接口可以继承自多个接口,一个类也可以实现多个接口。实现某个接口的类,必须实现该接口中的所有方法。
C# 中的接口声明格式为:(与类声明很相似)
[[属性]] [接口修饰符] [partial] interface 标识符 <类型参数, …> [: 基接口, …] [where 类型参数 : 类型参数约束[, …] ……] {
[接口成员声明 ……]
}[;]
其中:
接口修饰符有:new、public、protected、internal、private。
接口成员声明包括:接口方法声明、接口属性声明、接口事件声明和接口索引声明。
这些声明中都没有方法体,例如:
public delegate void StringListEventHandler(IStringList sender, ListEventArgs e);
public interface IStringList {
void Add(string s);
int Count { get; }
event StringListEventHandler Changed;
string this[int index] { get; set; }
}
接口声明中其余项的含义与类的相同。
新闻热点
疑难解答