2008年(787)
分类:
2008-09-25 16:11:03
C#中的接口同COM有也相似的地方,比如
1。都是“虚的”---不能被实例化,这也是接口中为什么不能包含字段--成员变量的原因(很简单,成员变量只能属于类的示例,而且C#规定变量在使用前必须初始化,这同接口的“虚”的性质矛盾)。
2。正因为接口是虚的,所以接口内的索引,属性,事件等只能有声明,而不能在接口内实现,具体如何实现是派生接口或者派生类的事。
3。都具有模板的性质,如果一个接口或者类从某一个接口继承,它将自动具有被集成者的特征(包括索引,属性,函数,事件等)。
4。接口支持多重继承,而C#中,类之支持单一继承
下面是接口的一个简单定义:
interface SampInterface1{
string this[int index]{get;set};
event EventHandler Event;
void Find(int value); //注意此处没有{}
string Point{get;set};
}
上面的接口定义了一个索引this,一个实践Event,一个方法Find和一个属性Point。