抽象类和接口在定义上和功能上有很多相似的地方,具体在程序中使用抽象类还是接口需要比较抽象类和接口的具体差别。
抽象类:一种不能实例化而必须从中继承的类,抽象类可以提供方法的实现,也可以不提供实现
子类只能从一个抽象类继承
抽象类应主要用于关系密切的对象
如果要设计大的功能单元,则使用抽象类。
如果预计要创建组件的多个版本,则创建抽象类
接口:是完全抽象的成员集合,不提供方法实现。
类或者结构可以继承几个接口。
接口最适合为不相关的类提供通用功能
如果要设计小而简练的功能块,则使用接口
接口一旦创建就不能更改。如果需要接口的新版本,必须创建一个全新的接口