私はこの作業階層を既に持っており、プログラムは期待通りに動作します。基本的に私はBaseクラスのすべてを抽象化し、他のすべてのサブクラスは独自のメソッドを追加しました。該当するデザインパターン
abstract Class Base{
}
class A extends Base{
//new methods
}
class B extends Base{
//new methods
}
すべてが後になるまで良く見えます(errr ...新しい要件が)私はJavaで、今 クラスAとBの両方を拡張している私は(このクラスCを呼び出すことができます)新しいクラスを持っている必要があり実現し、その2つの具体的なクラスを拡張することはできません。
class C extends A, B{
//new methods
}
クラスAとクラスBの両方のメソッドと変数が必要ですが、これを行う方法はわかりません。 この変更を行う方法に関するヒントはありますか? 私はそれがデザインパターンでは良くないので、ここでそれを聞いてみることにしました。
おかげ
UPDATE これは、私は豆と他のすべてのサブクラスベース管理Beanの上に独自の実装を追加/上書きを管理ベースですべてを抽象化し、前記JSF管理対象Bean実際にあります。 私は新しいサブクラス(C)
クラスの内容について詳しく説明していないと難しいですが、コンポーネントベースのデザインではうまくいくように思えます。 –
あなたはメソッドが必要ですが、 'CはAとBです'という関係は必要ですか?あなたは作曲を使うことができますが、あなたの投稿はこれが適切かどうかを知るためにもっと多くの情報を必要とします。 –
Yehは構成を考え、 'C'に' A'と 'B'のインスタンスを含んでいます。 –