4.10 接口
知识点讲解:光盘:视频\PPT讲解(知识点)\第4章\接口.mp4
接口正如其名,有的时候只需要通过接口调用类中的方法,而不需要考虑具体的类。换句话说就是不需要知道类的内部构造。通常将类看作为实现某项目功能的模板,而将接口看作为是描述任何类的一组行为。通过接口可以指定项目中各类的运行协议,通过这个协议可以将各个独立的类整合起来,从而使它们共同完成特定的功能。本节就将详细讲解接口的基本知识。
4.10.1 定义接口
在接口中只包含函数成员的数据结构,是引用类型的一种。在C#程序中,通过关键字interface声明接口,声明格式如下。
接口修饰符 interface 接口名 : 基类列表
{
处理语句块
}
C#接口是一种标识符,所以遵循标识符的命名规则。例如,下面的一段代码是一个简单的接口定义形式。
interface MyInterface
{
}
在接口中可以包含一些成员,以实现具体的功能,接口中的成员必须满足如下4点要求。
- 接口中的成员必须是方法、属性、事件和索引器中的一种或几种类型。
- 接口不能包含常量、字段、运算符、实例构造函数、析构函数或类型,也不能包含任何种类的静态成员。
- 接口只包含方法、属性、事件和索引器的签名,而不提供它们所定义的成员实现。
接口成员都是public类型的,但是不能使用public来修饰。
4.10.2 接口的实现和继承
当在某个类中来继承某个接口时被称为接口的实现。虽然一个类只能继承一个直接接口,但是它可以实现任意数量的接口。所以接口的实现具有多继承性的特性,为此,在声明类时应该在基类列表中包含类所实现的接口名称。例如在下面代码中,类mm实现了接口interface1和interface2。
interface interface1
{
object A();
}
interface interface2
{
int void B();
}
class mm: interface1, interface2
{
public object A();
{
}
public int void B();
{
}
}