2016-10-10 14 views
1

重複したコードを使わずにいくつかのクラスを正しく拡張する方法を理解しようとしています。多重継承や重複コードのないクラスを拡張する

  • ベース(方法A、方法B)
  • 書:ベース(方法C)
  • 出荷:ベース(方法D)私が持っている

Iは、以下のクラスを持っています一部の機能を変更せずに調整します。問題は、調整が必要ないくつかのメソッドが基本クラスにあることです。

私は基本クラスを拡張する場合、私は最終的に各クラスを拡張し、その後、私はメソッドAへの変更を複製する必要がある場合は、私は方法CとDをコピーする必要があります、B.

私はどのようにマルチ継承(PHP、不可能)やコードの重複がなくてもこれを正しく実行できますか?

+1

あまりにも広範な質問 - これを行うには余りにも多くの方法があります。特性(多重継承)は、基底クラスを依存関係を必要とするように分割し、2つの最終クラスがそれらの依存関係の異なる実装を提供するようにすることが、より良い選択肢であるかもしれない1つの解決策です。そのような抽象的な情報があると確信する方法はありません – Steve

+0

私はこれらのクラスを変更することはできません。それらは第三者モジュールの一部です。 – Domeglic

+0

それでは形質が最良の選択肢かもしれませんが、やはりこの質問に本当に答えることはできませんので、広すぎる – Steve

答えて