構成とオブジェクトの方向に関する質問Javaの構成に関する質問
クラス(Java TreeMapの例)を実装する際に、もっと多くの機能を実装しようとしています。組成物を用いて
public class TreeMap<K,V>
extends AbstractMap<K,V>
implements NavigableMap<K,V>, Cloneable, Serializable
はway to go on thisあるので、私は同時に は、それができるように、それだけでそれを行う作りながら、最初のクラスの機能をラップします 再利用可能なフォワーディングクラスを作成する必要があります将来他の場所で使用することができます。 TreeMapのは 私の中で私は必要な細かな機能の数が含まれている場合はどうなります
public class BetterTreeMap<K,V> extends ForwardingNavigableMap<K,V>
{
/* some new cool features here */
}
:
public class ForwardingNavigableMap<K,V> implements NavigableMap<K,V>
{
...
}
私はそのようにのように、新しく作成された reusable forwarding classを継承するラッパークラスを作成して進行しますNavigableMapインターフェイスの一部ではない可能性があります。私は TreeMapのための自分のインターフェイスを宣言し、私の再利用可能なクラスでそれを実装する必要がありますか?ここの入力は感謝しています。
私は単純なゲームで衝突検出のためのオブジェクト境界階層を作成しようとしています。私はTreeMapが私の望むものであるかどうか分からないので、後でそれを置き換えることができる必要があります。なぜなら、継承(継承)よりも構図の優先度が高い理由は、 – Andreas
構図は、基礎となるMapのタイプを動的に変更できます。継承には、それを変更するために再コンパイルが必要です。これをやりたい場合は、コードを再コンパイルすることがどれほど難しいでしょうか? –