C#中接口(interface)的理解
程序员文章站
2023-11-09 12:58:22
.都是“虚的”不能被实例化,这也是接口中为什么不能包含字段--成员变量的原因。 2.正因为接口是虚的,所以接口内的索引,属性,时间等只能有声明,而不能在接口内实现,具体...
.都是“虚的”不能被实例化,这也是接口中为什么不能包含字段--成员变量的原因。
2.正因为接口是虚的,所以接口内的索引,属性,时间等只能有声明,而不能在接口内实现,具体如何实现是派生接口或者派生类的事。
3.都具有模板的性质,如果一个接口或者类从某一个接口继承,它将自动具有被集成者的特征(包括索引,属性,函数,实践等)。
4.接口支持多重继承,而c#中,类之支持单一继承,接口实际表示的是一种承载能力。
下面是接口的一个简单定义:
interface
sampinterface1
{
string
this[ int index]
{
get;
set
}
event eventhandler event;
void find( int value );
//注意此处没有
{
}
string po
int
{
get;
set
}
}
上面的接口定义了一个索引this,一个实践event,一个方法find和一个属性point.
public interface sampineterface:sampineterface1{
pravite int a=1;
void find (int value)
{
a+=value;
}
event eventhandler event;
protected void onevent()
{
if(event=null)
{return event(this.system.eventagrs.empty;)}
}
}
2.正因为接口是虚的,所以接口内的索引,属性,时间等只能有声明,而不能在接口内实现,具体如何实现是派生接口或者派生类的事。
3.都具有模板的性质,如果一个接口或者类从某一个接口继承,它将自动具有被集成者的特征(包括索引,属性,函数,实践等)。
4.接口支持多重继承,而c#中,类之支持单一继承,接口实际表示的是一种承载能力。
下面是接口的一个简单定义:
复制代码 代码如下:
interface
sampinterface1
{
string
this[ int index]
{
get;
set
}
event eventhandler event;
void find( int value );
//注意此处没有
{
}
string po
int
{
get;
set
}
}
上面的接口定义了一个索引this,一个实践event,一个方法find和一个属性point.
复制代码 代码如下:
public interface sampineterface:sampineterface1{
pravite int a=1;
void find (int value)
{
a+=value;
}
event eventhandler event;
protected void onevent()
{
if(event=null)
{return event(this.system.eventagrs.empty;)}
}
}