abstract base class他のクラス X から継承し ているA があるとします。
クラス A オーバーライド メソッドfoo1。
クラスである他のいくつかのクラスA1、A2、A3がありconcreteます。
すべての具象クラスは method を継承しfoo1ます。
メソッドfoo1は、すべての具体的なクラスに適しているはずの一般的なアルゴリズムのようなものです。
アルゴリズムの1つの例外がif条件があるため、「ほぼ」です。一部のクラスでfoo2は、の開始時に他のメソッドを起動する必要があるのはA1、A3だけですfoo。
A2 の場合、起動する必要はありませんfoo2。
問題はfoo2、クラス A に実装すると、すべての子がこの関数も継承することです。これはあまり良い設計ではありませんか?
foo2具体的なクラスによって実装されるインターフェイスに除外することを考えました->しかし、foo1どの呼び出しfoo2が基本クラスにあるのか、これは良くありません!
この問題を適切な方法で解決する方法はありますか?
ありがとうございました