モデル化されたクラス間の関連について

関連とは、クラス間の関係です。関連は、要素間の永続的な参照と考えることができます。関連は、クラス図でモデル化されたJavaクラス間およびJavaインタフェース間に作成できます。

注意: 関連の両方の終端に、同じ名前は付けられません。また、あるクラスの反対側にある関連の終端に、そのクラスの属性と同じ名前を付けることもできません。関連名は、大/小文字の違いに関係なく、ネームスペース内で一意である必要があります。

JavaクラスとJavaインタフェースの間の関連が誘導可能な場合、その関連はクラスに生成されるJavaコード中で、protectedのフィールドとして生成されます。JavaインタフェースとJavaクラスの間の関連は、そのインタフェースに生成されるJavaコード中には生成されません。

関連の終端について

関連の終端は、それが関連の中でどのように機能するのかを定義します。関連の終端には、次の3つの種類があります。

関連の終端 関連
Simple Association 単純な関連: どちらのクラスも特別な意味や所有権を持ちません。
Weakly Aggregated Association 弱い集約: 関連はこの関連のクラス定義の一部を構成します。集約されたクラスの存続期間は、この関連のクラスの存続期間に依存しません。
Strongly Aggregated Association (Composition) 強い集約(コンポジション): 関連のもう一方の終端にあるクラスは、この関連によって識別されるクラスの一部を構成し、そのクラスによって所有されています。集約されたクラスの存続期間は、この関連のクラスの存続期間に依存します。

注意:  関連の終端の名前は、そのクラスからJavaファイルが生成される際に属性名として使用されます。

関連のロールを定義する際に、その関連のもう一方の終端にある要素に影響する特性も指定します。特に、次の項目を指定できます。


関連項目

クラス間の関連のモデル化

Javaソース・コードの生成およびリバース・エンジニアリング