abstract class 和interface的区别
相同点
都不能直接实例化,都可以通过继承实现其抽象方法;
不同点
接口支持多继承,抽象类不能实现多继承
接口只能定义方法的声明,不能定义方法的实现;抽象类既可以定义方法的声明,还可能提供实现。
接口只包含方法(Method)、属性(Property)、索引器(Index)、事件(Event)的签名,但不能定义字段和包含实现的方法;
抽象类可以定义字段、属性、包含有实现的方法。
都不能直接实例化,都可以通过继承实现其抽象方法;
接口支持多继承,抽象类不能实现多继承
接口只能定义方法的声明,不能定义方法的实现;抽象类既可以定义方法的声明,还可能提供实现。
接口只包含方法(Method)、属性(Property)、索引器(Index)、事件(Event)的签名,但不能定义字段和包含实现的方法;
抽象类可以定义字段、属性、包含有实现的方法。