複合パターンについて質問があります。
基本クラス「Component」は、「Composite」クラスのポイントリーフオブジェクトへのポインタのように機能しますか?
編集: 次の言葉で私の質問をさせてください。 「CompositeクラスとComponentクラスの関係は何ですか?」
これがパターンのumlクラス図です。
複合パターンについて質問があります。
基本クラス「Component」は、「Composite」クラスのポイントリーフオブジェクトへのポインタのように機能しますか?
編集: 次の言葉で私の質問をさせてください。 「CompositeクラスとComponentクラスの関係は何ですか?」
これがパターンのumlクラス図です。
コンポジットとコンポーネントの関係:
1)LeafとCompositeは通常、1つのインターフェースまたは1つの抽象クラスを実装します。あなたの図では、それらはコンポーネントを拡張します。したがって、ダイアグラム上の関係は継承です。
2)コンポジットにはコンポーネントのインスタンスが含まれています。コンポーネントは、場合によってはコンポジットになることがあるため、コンポーネントのインスタンスを含めることもできます。これは再帰的合成と呼ばれます。一般に、この関係は集約と呼ばれます。
成分
葉
複合
すべてのコンテナクラスとcontaineeクラスは、interface( Component )との「isa」関係を宣言します。
すべてのコンテナクラスは、インターフェイスに対して1対多の「持つ」関係を宣言します。
詳細はこちら