UMLクラス図の6種類の関係は何ですか?
6種類のクラス関係
クラス間の関係には、継承、実現/実装、構成、集約、関連付け、依存関係の6つの主要なタイプがあります。6つの関係の矢印は次のとおりです。
次に、クラス関係の具体的な内容を理解するようになります。
6種類の関係
6種類の関係では、構成、集約、関連付けなどの3種類の関係のコード構造は、属性を使用して別のクラスの参照を格納する場合と同じです。したがって、内容間の関係によって区別する必要があります。
継承
継承は一般化とも呼ばれ、親クラスと子クラスの関係を説明するために使用されます。親クラスは基本クラスとも呼ばれ、サブクラスは派生クラスとも呼ばれます。
継承関係では、サブクラスは親クラスのすべての機能を継承し、親クラスにはすべての属性、メソッド、およびサブクラスがあります。サブクラスには、親クラスと同じ情報に加えて、追加情報が含まれています。
例:バス、タクシー、車は車であり、それらはすべて名前があり、すべて道路上にある可能性があります。
実現/実装
実装(実装)は、主にインターフェイスと実装クラスの間の関係を指定するために使用されます。
インターフェイス(抽象クラスを含む)は、メソッドのコレクションです。実装関係では、クラスはインターフェイスを実装し、クラスのメソッドはインターフェイス宣言のすべてのメソッドを実装します。
たとえば、車と船は乗り物であり、乗り物はモバイルツールの単なる抽象的な概念であり、船と乗り物は特定のモバイル機能を実現します。
構成関係
構成:全体と部分の関係ですが、全体と部分を分離することはできません。
組み合わせ関係は、クラスの全体と一部の間の関係を表し、全体と部分には一貫した寿命があります。オブジェクト全体が存在しなくなると、一部のオブジェクトは存在しなくなり、すべて同じ人生で死にます。たとえば、人は頭と体で構成されます。この2つは切り離せないものであり、共存しています。
集約関係
集約:全体と部分、および全体と部分の関係を分離することができます。
集約関係は、クラス全体とクラスの一部の間の関係も表します。メンバーオブジェクトはオブジェクト全体の一部ですが、メンバーオブジェクトはオブジェクト全体から独立して存在できます。
たとえば、バスの運転手と作業服と帽子は全体的な関係の一部ですが、それらは分離することができます。作業服や帽子は他のドライバーに着用することができます。バスの運転手は他の作業服や帽子をかぶることもできます。
アソシエーション関係
関連付け:クラスのプロパティが別のクラスのインスタンスへの参照を保持していることを示します。
アソシエーションは、クラスとクラスの間で最も一般的に使用される関係です。つまり、あるタイプのオブジェクトと別のタイプのオブジェクトの間に接続があります。組み合わせと集約も連想関係に属しますが、所属のクラス間の関係は他の2つよりも弱いです。
アソシエーションには、双方向アソシエーション、一方向アソシエーション、自己アソシエーション、および複数番号アソシエーションの4種類があります。
例:車とドライバー、1台の車は特定のドライバーに対応し、1人のドライバーは複数の車を運転できます。
UMLダイアグラムでは、双方向の関連付けには2つの矢印がある場合とない場合があり、一方向の関連付けまたは自己関連付けには矢印があります。
多重度の関係では、関連する行に直接番号を追加して、対応するクラスのオブジェクトの数を示すことができます。
-
1..1
: 唯一 -
0..*
:ゼロ以上 -
1..*
:1つ以上 -
0..1
:いいえまたは1つだけ -
m..n
:少なくともm、最大n(m <= n)
依存関係
依存関係:クラスAの変更によりクラスBが変更されると想定し、クラスBがクラスAに依存していると言います。
ほとんどの場合、依存関係は、別のクラスのオブジェクトをパラメーターとして使用するクラスのメソッドに反映されます。
依存関係は「使用」関係です。特定のものの変更は、それを使用する他のものに影響を与える可能性があり、あるものが別のものを使用することを示す必要がある場合は依存関係を使用します。例:車はガソリンに依存しています。ガソリンがないと車は運転できません。
クラス図–注文システム
以下のクラス図は、小売カタログからの顧客注文をモデル化したものです。中心的なクラスはOrderです。これに関連付けられているのは、購入と支払いを行う顧客です。支払いは、現金、小切手、クレジット、電信送金の4種類のいずれかです。注文にはOrderDetails(ラインアイテム)が含まれ、それぞれに関連するアイテムがあります。
ユーザー定義の制約を持つクラス図
6種類の関係のうち、組み合わせ、集約、関連付けのコード構造は同じであり、関係の強さから理解できます。強いものから弱いものへの順序は、継承→実装→構成→集約→関連付け→依存関係です。以下は完全なUML図です。