设想
车辆分为三种
- 在陆地上移动的车辆。
- 在水上移动的车辆。
- 在空中移动的车辆。
所有类型的车辆都有一个共同的行为,都可以移动。但是它们移动的方式完全不同(车辆移动的媒介)。
这意味着,所有车辆都有共同的行为(移动)但完全独特的实现。
问题 1
在这种情况下,我们能否有一个带有虚函数(Move)的基类和一些默认实现,因为所有车辆都有完全不同的实现?
或者
由于我们没有任何默认实现,因此抽象类会成为这种设计的好方法吗?
问题2
当我们没有默认实现时,我们应该使用抽象方法吗?(只是为了确认其他场景)