1

UMLのクラス図でクラスのデータ属性として、クラスのオブジェクトへのポインタを追加すると、次の形式は間違っていますか?

ここに画像の説明を入力

4

1 に答える 1

1

クラス図でのオブジェクトの使用について何も見つかりませんでした。クラス属性内でオブジェクトに下線が引かれていますか?

クラス、オブジェクト、および属性を誤解している可能性があると思います。私の勘違いでしたらすみません。そう。簡単な答えは次のとおりです。

  • 属性のタイプがクラスであることはまったく問題なく、正常です。つまり、int、long、char などのプリミティブ型の使用に制限されません。
  • その結果、あなたが言うように、実行時のこれらの属性の値自体がオブジェクトになります。具体的には、Ability、Move、および See クラスのインスタンスです。
  • より具体的には、Agent の各インスタンス (つまり、各 Agent オブジェクト) は、他の 3 つのオブジェクトへの参照 (より正確にはポインター) を保持します。Ability、Move、および See の各インスタンスです。

したがって、それが正しいと仮定すると、下線を除いて、あなたが持っているものは正しいです.

属性または操作に下線を引くと、それがインスタンス レベルではなく、クラス レベルにあることを示します。staticこれは Javaと同等です。クラススコープまたはコンストラクターで定数を宣言することを考えてください。

私があなたのモデルを理解しているなら、それはあなたが望むものではありません。Agent の各インスタンスが、Ability、Move、および See の独自のインスタンス (へのポインター) を保持するようにします。すべての Agent オブジェクトが同じ 3 つのインスタンスを共有することは望ましくありません。そう仮定すると、下線は必要ありません。

私が理解したことを願っています。

于 2013-08-20T21:00:17.480 に答える