接口
接口是一组包含了类或结构可以实现的功能的定义。
创建方法
interface IUSB
{
}
接口名一般以大写字母 I 作为开头
接口的特性
1、接口可以包含事件,索引器,方法和属性,但是不能包含字段。
2、接口是一个引用类型,只包含了功能的定义,不包含功能的实现
3、接口成员的访问级别是默认的(默认为public),不可以使用其他修饰词修饰
4、接口成员不能添加任何的访问修饰符
5、类的继承只能单继承,接口的实现支持多实现
6、接口一旦被实现,就必须实现接口当中的所有成员
7、接口无法直接进行实例化,因为其成员必须通过由实现接口的任何类或结构来实现
8、实现多接口时,用逗号隔开
class Person
{
public void say()
{
}
}
interface IWolf
{
public void attack();
}
class WolfPerson : Person, IWolf
{
public void attack()
{
}
}
WolfPerson wp = new WolfPerson();
IWolf wolf = new WolfPerson();
wolf.attack();
继承接口的类new出来的对象可以使用接口来接受,但是接受的对象只能调用接口中方法。
类与类之间,称之为继承
接口与接口,接口与类之间,称之为实现
接口与抽象类之间的对比
相同点
1、两者都不能被实例化
2、两者都包含了由其他类或结构继承或实现的抽象成员
不同点
1、抽象类当中除了拥有抽象成员外还可以拥有非抽象成员;而接口中所有的所有成员都是抽象的
2、抽象成员可以使用修饰符修饰,接口当中接口成员访问级别是默认不可修改的,并且默认是public
3、接口当中不可以包含构造方法,析构方法,静态成员以及常量
4、C#类只支持单继承,接口支持多继承
析构方法,实例化的对象销毁的时候调用的
使用方法
~类名(){} ~波浪线