次のUMLクラス図について、最も適切な説明を①~⑤の中から選べ。
┌──────┬──────────────────┐
│ クラス名 │ 説明 │
├──────┼──────────────────┤
│シャープ処理│画像をめりはりのある印象に変換する。│
├──────┼──────────────────┤
│ぼかし処理 │画像をやわらかい印象に変換する。 │
├──────┼──────────────────┤
│TIFF画像│TIFF形式のファイルを扱う。 │
├──────┼──────────────────┤
│JPEG画像│JPEG圧縮データのファイルを扱う。│
└──────┴──────────────────┘
① 「ぼかし処理」クラスは多重継承をしている。
② 「画像」クラスは抽象クラスであり、「画像処理」クラスは具象クラスである。
③ 「画像」クラスと「画像形式」クラスの関係を、集約という。
④ 「TIFF画像」クラスのインスタンスは、ぼかし処理を利用できる。
⑤ 「シャープ処理」クラスのインスタンスは、TIFF画像を読み込むことができない。
③
① 多重継承は複数の親クラスの性質を継承することであり、「ぼかし処理」はそれに該当しない。
② 画像クラスも画像形式クラスもイタリック (斜体) で表記されているため、どちらも抽象クラスである。
③ 正しい。集約は、全体と部分の関係を示し、UMLクラス図では全体側の方に白のひし形で表す。
④ ぼかし処理の属性やメソッドを継承していないため、利用できない。
⑤ 「シャープ処理」のインスタンスから、TIFF画像の「読み込む()」を呼び出すことでTIFF画像を読み込むことができる。
Ⅳ-26 | 目次 | Ⅳ-28 |