接口与抽象类比较

相同点:
1.不能被实例化
2.包含未实现的方法声明
3.派生类必须实现未实现的方法,抽象类是抽象方法,接口则是所有成员
 
不同点:
抽象类 接口
抽象基类可以定义字段、属性、方法实现。
接口只能定义属性、索引器、事件、和方法声明,不能包含字段。
有构造方法 无构造方法
可以包含非抽象的普通方法 不可以包含非抽象的普通方法
抽象方法的访问类型可以是public,protected 只能是public类型
可以包含静态方法 不可以包含静态方法
只能继承一个抽象类 可以继承多个接口
不支持 支持回调
 
用法:
1.一般抽象类是针对一系列相关的对象抽象出来的概念,接口是为一些不相关的对象提供通用功能。
2.接口应该是专一功能的。

猜你喜欢

转载自www.cnblogs.com/pj2933/p/10731687.html