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