接口
- 什么是接口:接口就是一个契约,一个对于类的行为约束
接口的本质
InterFace ImyInterface
{
Void MyMethod();
}
编译成IL语言就是:
.Class Private interface abstract auto ansi ImyInterface
{
.method Public hidebysig newslot abstrct virtual instance void MyMethod() cilmanaged
}
从上面的代码可以看出,接口在编译后实际上是被编译成了,一个抽象类, 而接口里面定义的方法是被编译成了,一个虚拟的
- 禁止为已经发布的接口添加新的成员,因为这样要为所有继承该接口的子类都添加相应的实现,这在现实中是不可能的
- 接口不能实例化,没有构造函数,接口成员被隐式的声明为public