与类一样,在接口中可以定义一个或火哥方法、属性、索引指示器和事件。但与类不同的是,接口中仅仅是他们的声明,并不提供实现。因此,接口是函数声明的集合。
如果类或结构从一个接口派生,则这个结构或类负责实现该接口中所声明的所有成员。
一个接口可以从读个接口继承,而一个借口或类可以实现多个接口,由于C#语言不支持多继承,因此,如果某个类要继承多个类的行为时,只能使用多个接口加以说明。
1.接口声明
格式如下:
属性 接口修饰符 interface 接口名:基接口{接口体}
其中关键字interface、接口名和接口体是必须的,其他项是可选的。接口修饰符可以是new、public、private、protected和internal。示例代码如下:
public interface IExample
{//所有接口成员都不能包括实现
string this[int index]{get;set}//索引指示器声明
event EventHandler E;//事件声明
void F(int value);//方法声明
string P{get;set;}//属性声明
}
声明接口时注意以下几点:
☆ 接口成员只能是方法、属性、索引指示器和事件,不能是常量、域、操作符、构造函数或析构函数,不能报考任何静态成员。
☆ 接口成员声明不能报考任何修饰符,接口成员默认访问方式是public。
2.接口继承
接口允许多继承,一个接口可以没有基接口,也可以有多个逗号分割的基接口。
public interface IControl
{
void Paint();
}
public interface ITextBox:IControl//继承了IControl的方法Paint()
{
void SetTextBox(string text);
}
public interface IListBox:IControl//继承了IControl的方法Paint()
{
void SetItems(string[] items);
}
interface IComboBox:ITextBox,IListBox//继承了ITextBox和IListBox
{}
3.类对接口的实现
类通过继承接口对接口成员进行定义与实现。