有时我想知道我们确实有接口和抽象类,原因有两个:
如果您只是为了设计目的而需要多个实现,并且在开发时需要编写代码,那么接口是我们获得的最佳选择.
如果你想重用代码,那么我们可能会去抽象类.
但是,我看到的东西都不是.
在某些设计中,它就像这个Interface > BaseClass > Child类.
基本上,基类实现所有方法,然后子类从中继承定义.为什么我们不能使用抽象类而不是这个设置?或者这是一个有缺陷的设置?
Mic*_*ers 10
最简单的方法是,如果对象具有IS-A关系,则使用(抽象)基类.像马一样是一种动物.
如果存在CAN关系,那么考虑接口,就像Duck CAN飞行一样,使用IFlying作为可以飞行的鸭子的接口.