C# 接口(interface)的理解

cscdk007 2007-12-08 10:58:07

转自: http://www.minorrole.cn/peijue/File1/

C#中的接口
1.都是“虚的”不能被实例化,这也是接口中为什么不能包含字段--成员变量的原因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;)}
}

}


...全文
608 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
JYYCOM 2007-12-09
  • 打赏
  • 举报
回复
学习,这几天正在看接口和属性
zhangjjhua 2007-12-09
  • 打赏
  • 举报
回复
学习....
Gao_TF 2007-12-09
  • 打赏
  • 举报
回复
"但自定义类的接口就可以在不拆箱的情况下做到。某种程度上它有凌驾于类型安全机制之上的能力"
还没有意识到,楼主举个例子说说。用泛型呢!
二楼说的问题呢
cinray 2007-12-09
  • 打赏
  • 举报
回复
看出来了,楼主是来扫盲来了
Q282898034 2007-12-09
  • 打赏
  • 举报
回复
接口很强,有些类做不到的事情接口就能做到,例如你自定义类的对象放进ArrayList后,就变成了object对象,你想修改这个object对象里的自定义类成员,不拆箱很困难,但自定义类的接口就可以在不拆箱的情况下做到。某种程度上它有凌驾于类型安全机制之上的能力
MiracleWorker 2007-12-08
  • 打赏
  • 举报
回复
你的后者还是一个接口啊,你的interface关键字不就明确指明了么?所以同样不能实现里面的方法嘛。你要想实现方法,就应该写一个类来继承(或者说实现)第一个接口才行:
public class SampeClass:SampIneterface1{
pravite int a=1;
public void find (int value)
{
a+=value;
}
public event EventHandler objEvent;
protected void onEvent()
{
if(objEvent==null)
{return objEvent(this.System.EventAgrs.Empty;)}
}
}

是你要的吗?

MiracleWorker 2007-12-08
  • 打赏
  • 举报
回复
说了半天,你到底想问什么?
相关推荐
发帖
C#

10.9w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2007-12-08 10:58
社区公告

让您成为最强悍的C#开发者