接口与抽象类的区别

1、接口用于规范,抽象类用于共性 ,接口只负责定义子类需要遵循的规则,但并不关心子类具体实现。从而起到规范与具体实现相分离作用。

2、接口中只能定义 属性、方法、事件、索引器;抽象类中可以有方法的实现,也可以包含非静态型的变量

3、抽象类可以被单继承,接口可以被继承多次,也就是说一个类可以继承多个接口,接口之间用逗号隔开

3、接口中必须都是抽象方法,不用abstract修饰,不用访问修饰符,抽象类中可以有非抽象方法,不能使用sealed关键字,如果使用就表示该抽象类布恩那个被继承,那么把该类定义成抽象类就没有意义了

4、抽象类中可以有部分方法的实现,接口中没有

5、在抽象类中加入一个方法,子类就有了这个方法。在接口中加入一个方法,子类必须重新编写,这就是为什么接口是类的规范了。

6、抽象类是对对象的一种抽象,而接口是对操作的一种抽象

7、接口中不能包含字段,常量,属性,构造函数,析构函数

原文地址:https://www.cnblogs.com/Blogzhangli1989/p/2590765.html