假设您有一个abstract base class
从其他类 X 继承 的 A。
A 类覆盖方法foo1
。
很少有其他类 A1、A2、A3 是concrete
类。
所有具体类都继承方法foo1
。
方法foo1
几乎就像应该适用于所有具体类的通用算法。
它“几乎”是因为算法中有一个异常存在一个 if 条件,一些类可以说只有 A1,A3 需要foo2
在foo
.
对于 A2,我们不需要启动foo2
.
问题是,如果我foo2
在 A 类中实现它的所有子级也将继承此功能,这不是很好的设计吗?
我想排除foo2
将由具体类实现的接口-> 但这并不好,因为foo1
哪些调用foo2
在基类上!
任何想法如何以适当的方式解决这个问题?
谢谢