1

私はコードを完全に理解していますが、コードに関連する UML を理解するのに少し苦労しています。

質問 1 - クラスがある場合

public class one
{....}

public class two
{
    one ob;
    public two(){ob=new one();}
}

これが関連付けであることはわかっていますが、これを矢印付きのクラス図に表示する必要がありますか?

ここに画像の説明を入力

質問 2 - 次のクラスがある場合

public class three
{
   public three(){.........}

   public void method() {  one obt=new one();  }
}

これはクラス 3 とクラス 1 の間の関連付けですか? メソッドから適用されているのでわかりません。

4

2 に答える 2

1

まず、 を指しているので、 からtwoへの矢印が反対方向です。矢印で示していない場合は、リレーションの方向がわからないということです。呼び出しと呼び出しの両方である可能性があります。が を所有していることはわかっているので、矢印の方向を追加する必要があります。onetwooneonetwotwoonetwoone

2 番目の質問については、はい、これは との関係threeです。この関係は、 との関係に応じて、依存関係または関連付けになる可能性があります。onethreeonethreeone

于 2012-11-26T08:57:31.057 に答える
1

これが関連付けであることはわかっていますが、これをクラス図に矢印で示しますか?

クラスoneにクラスへの参照がない場合twoは、矢印の頭が必要です。しかし、それはtwoからone(あなたが示した方法とは反対の方法)を指しています。理由: 矢印はナビゲーション可能性を示します。クラスはインスタンスを保持しているため、twoクラスにナビゲートできます。oneその逆は正しくありません。技術的には、使用した閉じた形ではなく、開いた矢印にする必要があります。

これはクラス 3 とクラス 1 の間の関連付けですか? メソッドから適用されているのでわかりません。

threetoからの唯一の参照がoneメソッド パラメーターとしての場合、関連付けではなく依存関係として表示される可能性が高くなります。アソシエーションは、エンティティ間の体系的な関係を宣言しPurchase OrderますOrder Lines。ほとんどの場合、メンバー変数 (またはそのコレクション) に変換されるコード内。依存関係は、関連付けよりも弱い形式の関係であり、体系的なリンクを意味するものではありません。

h番目。

于 2012-11-26T09:01:09.057 に答える