接口

接口用于定义一组函数声明,任何继承了接口的类都要实现接口中的函数.

接口中只能定义方法、属性、索引器和事件声明,所有这些声明都为public(不需要指示,并且不能为private,protected等)
public interface IClass1
{
    
object this[int index] { getset;}
    
string ClassName { getset; }
    
void DoNothing();
    
event EventHandler OnOoxx;
}

C#中的类只支持单继承,但通过继承接口,可以将类看成多种类型。在C#中实现接口可以有下面两种方法:
隐式接口实现:
public interface IComparable 
{
    Int32 CompareTo(
object other);
}

public class Class1 : IComparable
{
    
// IComparable 接口成员实现
    public Int32 CompareTo(object other) {}
}
显示接口实现:
public class Class2 : IComparable
{
    
// IComparable 接口成员实现 
  Int32 IComparable.CompareTo(object other) {}
}

隐式接口实现中的接口方法在对象生存期内是公开的,可以直接访问:
Class1 c1 = new Class1();
c1.CompareTo(
1);
而显示接口实现中的接口方法是IComparable接口的私有方法,不能通过对象直接访问:
Class2 c2 = new Class2();
((IComparable) c2).CompareTo(
1);




posted @ 2007-05-21 11:28  蛤蟆  阅读(516)  评论(1)    收藏  举报