私は古いライブラリを完全に書き直していますが、この状況をどのように処理するかわかりません(理解するために、すべてが自転車の例えを歓迎します):
私は次のクラスを持っています:
TBike
-バイク自体TBikeWheel
-バイクのホイールの1つTBikeWheelFront
そしてTBikeWheelBack
、両方とも継承しTBikeWheel
、その上に必要な特定のものを実装します
これは非常に簡単ですが、今度は複数の種類の自転車を作成することにしました。各自転車には独自の種類のホイールがあります。通常の前輪/後輪と同じ機能に加えて、その自転車に固有の機能を備えています。
TBikeXYZ
-から継承TBike
TBikeWheelXYZ
-から継承TBikeWheel
そして、ここに私の問題があります: (XYZホイールの特定のメソッドを取得するために)からTBikeWheelFrontXYZ
継承TBikeWheelXYZ
する必要がありますが、(前輪の特定のメソッドを取得するために)からも継承する必要がありTBikeWheelFront
ます。
ここでの私の質問は、それを実装しない方法でどのように実装できるかということです。
- ハックのように感じる
- 同じコードを何度か書き直さなければならない