本文へスキップ
BecomeCoder

UMLコース · 第2章 クラス図 · レッスン3

関連と多重度 ― クラスをつなぐ

導入

クラスは単独では存在せず、たいてい他のクラスと関わり合います。クラス同士を線で結んだものが 関連、その線の両端に付く数字が 多重度(何個と結びつくか)です。

説明

多重度は「1つの注文に、商品明細がいくつ結びつくか」といった 数の関係 を表します。

  • 1 … ちょうど1つ
  • * … 0個以上(いくつでも)
  • 1..* … 1個以上
classDiagram
    class Order {
        +int Id
        +DateTime OrderedAt
    }
    class OrderLine {
        +int Quantity
    }
    Order "1" --> "*" OrderLine : 明細を持つ

この図は「1つの Order は、0個以上の OrderLine を持つ」と読みます。矢印の向きは「Order から OrderLine を参照している」ことを表します。

読んでみよう

多重度を Order "1" --> "1..*" OrderLine に変えると、意味は「注文には必ず1つ以上の明細がある」に変わります。数字の違いが仕様の違いに直結することを意識してみましょう。