オブジェクト

UML モデルにおけるオブジェクトは、 1 つのクラスまたは複数のクラスのインスタンスを表す、 モデル要素です。オブジェクトをモデルに追加することで、 プロトタイプの具象インスタンスおよび表すことができます。 具象インスタンスとは、実世界にある実際の人物や物事を表します。 例えば、Customer クラスの具象インスタンスは、実際の顧客を表しています。 Customer クラスのプロトタイプ・インスタンスには、 典型的な顧客を表すデータが含まれます。

オブジェクトが具象エンティティーを表すのに対して、 クラスは概念または物理的存在の抽象化を表します。 オブジェクトは、十分に定義された境界を持ち、 アプリケーション内で有効となります。 オブジェクトが持つ特性は、以下の表で一覧されているものになります。

特性 説明
状態 状態は、オブジェクトが存在できるための条件です。 オブジェクトの状態は、属性のセットによって実装され、 通常、時間とともに変化します。
振る舞い あるオブジェクトが、 その他のオブジェクトからの要求に応答する方法を、 振る舞いによって決定します。 振る舞いは、操作のセットによって実装されます。
識別 オブジェクトは、識別によって固有の存在になります。 各インスタンスの状態が同じである場合、 オブジェクトの固有識別を使用して、 クラスの複数のインスタンスを差異化することができます。

それぞれのオブジェクトには、固有の名前を付ける必要があります。 完全なオブジェクト名は、3 つの部分に分かれます。 オブジェクト名、役割名、およびクラス名です。 オブジェクトの名前を付けるときは、 どの部分を組み合わせてもかまいません。 オンライン・ショッピング・システム用の オブジェクト名のバリエーションを、以下の表でいくつか説明します。

構文 サンプル 説明
オブジェクト/役割: クラス cart100/storage:cart cart クラスの名前付きインスタンス (cart100) は、 相互作用中にストレージの役割を実行します。
オブジェクト: クラス cart100:cart cart クラスの名前付きインスタンス (cart100)
/役割: クラス /storage:cart 相互作用中にストレージの役割を実行する、cart クラスの匿名インスタンス。
オブジェクト/役割 cart/storage ストレージの役割を演じる、cart という名前のオブジェクト このオブジェクトは、クラスの名前を非表示にするオブジェクトか、 クラスと関連付けされていないインスタンスかの、いずれかです。
オブジェクト cart100 cart100 という名前のオブジェクト。 このオブジェクトは、クラスの名前を非表示にするインスタンスか、 クラスと関連付けされていないインスタンスかの、いずれかです。
/役割 /storage ストレージの役割を実行する、匿名のインスタンス。 このオブジェクトは、オブジェクトとクラスの名前を非表示にするインスタンスか、 オブジェクトまたはクラスと関連付けされていないインスタンスかの、いずれかです。
: クラス :cart customer クラスの匿名インスタンス。

オブジェクトのタイプ

3 つのオブジェクトのタイプを、以下の表で説明します。

オブジェクトのタイプ 説明
アクティブ アクティブ・オブジェクトは、制御スレッドを所有しており、 制御アクティビティーを開始することができます。 プロセスとタスクは、アクティブ・オブジェクトのタイプです。
パッシブ パッシブ・オブジェクトは、データを保持しますが、制御は開始しません。
複数インスタンス オブジェクトのコレクション、または同一クラスの複数インスタンスです。 通常、複数インスタンスは、 オブジェクトのセットが単一のメッセージ (または刺激) と相互作用していることを表すために使用されます。

フィードバック