您的位置:首页 > 编程语言 > C#

C#之接口(Interface)

2011-09-22 10:22 337 查看
新手肯定特别困惑C#中接口的含义,在此我用通俗的语言给大家描述一下。
首先,接口跟class是同一个层次的,它跟class的区别是,接口只有成员的声明,而没有实现,也就是说只有方法、属性的名称,没有具体代码,比如以下接口:

public interface IEnumerable
{
IEnumerator GetEnumerator();
}


注意看,接口IEnumerable中有一个GetEnumerator方法,但是没有方法的具体代码,这就是接口的特点。

又有人要问了,接口里没有代码,他怎么工作呢?其实接口并没有直接的功能,它只是一种约定的协议,如果某个类实现了某接口,那这个类就具备了某种功能。比如

public class GoodsList : IEnumerable
{
private Goods[] goods;
internal GoodsList(Goods[] goodsarray)
{
goods=new Goods[goodsarray.Length];
for (int i = 0; i < goodsarray.Length; i++)
{
goods[i] = goodsarray[i];
}
}
/// <summary>
/// 实现GetEnumerator方法
/// </summary>
/// <returns></returns>
public IEnumerator GetEnumerator()
{
return new GoodsEnum(goods);
}

}
IEnumerable接口的意思是说 “可以被迭代”,如果GoodsList类实现了IEnumerable接口,并实现了该接口内部的方法,则GoodsList可用于foreach迭代。

(本文代码仅供参考,实际运行还需需另外添加内容)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息