第1章 初めてのデザインパターン
Authors:Agata Toshitaka
本特集ではUMLによる表記を使用しています。
UMLとはUnified Modeling Languageの略で、オブジェクト指向の世界の標準化された表記法のことです。
本特集で使用している図は「クラス図」と「シーケンス図」だけです。
ここでは、本特集を読み進めるために最低限必要なUMLの知識を解説します。
クラス図は、クラスやクラス同士の関連を表す図です。
◎クラス
クラスは3つのボックスに区切った四角形で表します(図5)。
一番上のボックスはクラス名を記述します。真ん中のボックスには属性、Java言語で言うところのフィールド名を記述します。
一番下のボックスには操作、Java言語で言うところのメソッド名を記述します。属性と操作のボックスは省略可能です。
また、属性の型やメソッドの戻り値の型は、属性名や操作名のうしろにコロンを付けて記述します。これも省略可能です。
属性や操作の前に「+」「-」記号が付いていますが、これは可視性を表す記号です。「+」はpublic、「-」
はprivate、「#」はprotectedです。何も記号が付いていない場合はJavaと同じでパッケージアクセスを意味
します。
◎関連と多重度
関連はクラス同士を線で結んで表現します(図6)。
また、あるクラスが他のクラスを保持する構造の場合、保持するオブジェクトの個数を「1..*」のような形式で表現することができます。
これを「多重度」と呼びます。「1..*」は「1個以上」という意味になります。
図6の例では「ショッピングカートは商品を0〜3個保持できる」ということを意味します。
◎継承とインタフェース
継承は「先端の黒い矢印」で表現します(図7の左側)。
インタフェースは、丸のアイコンか<
>を付けて表現します(図7の右側)。
インタフェースの実装は、インタフェースに向かって「先端の白い破線の矢印」で表現します。
シーケンス図は時系列に沿ったオブジェクト同士の一連の呼び出しを図式化したものです(図8)。
上部の四角形の中にオブジェクト名が記述されます。番号がついた矢印がオブジェクト同士のメソッド呼び出し
を表現します。これは「メッセージ」と呼ばれます。
図8の例では、まず注文サーブレットオブジェクトがショッピングカートオブジェクトの「合計を計算する」メ
ソッドを呼び出します。次にショッピングカートオブジェクトは商品オブジェクトの「価格を取得する」メソ
ッドを呼び出します。
以上がUMLの最低限の説明になります。あくまで最低限の説明しか行っていませんので、さらに詳しく知りた
い方は次ページのCOLUMN 特集読了後のアドバイスであげている参考・推薦図書を参考にしてください。