平成27年度 秋期 午前Ⅱ 問2
システム要件定義・ソフトウェア要件定義
UMLに関する問題
UML を使って図のクラス P を定義した。このクラスの操作のうち,公開可視性(public)をもつものはどれか。
クラス P の図:
┌─────────┐ │ クラスP │ ├─────────┤ ├─────────┤ │ + 操作A │ │ − 操作B │ │ # 操作C │ └─────────┘
- ア全ての操作
- イ操作A
- ウ操作B
- エ操作C
答えと解説を見る
✓ これが正解イ操作A
解説
+が付いた操作Aだけが公開可視性をもちます。
UML のクラス図では、属性や操作の名前の前に付ける記号で可視性を表します。+は public(公開)で、どのクラスからでも利用できます。−は private(非公開)で、そのクラスの中からしか使えません。#は protected(限定公開)で、そのクラス自身とサブクラスから使えます。図のクラスPの操作欄を見ると、操作Aに+、操作Bに−、操作Cに#が付いています。したがって公開可視性をもつのは操作Aだけです。記号は、プラスは外へ開く、マイナスは外から引っ込める、シャープは身内だけ、と組にして覚えると取り違えにくくなります。
ほかの選択肢はなぜ違うのか
- ア全ての操作:三つの操作には+・−・#という異なる記号が付いており、可視性はそろっていません。−の操作Bと#の操作Cは外部のクラスから自由に呼べないので、全ての操作が公開されているとはいえません。
- ウ操作B:操作Bに付いている−は private を表す記号です。クラスPの内部からしか使えない操作なので、外部のどのクラスからでも呼べる公開可視性とは反対の性質です。
- エ操作C:操作Cに付いている#は protected を表す記号です。クラスP自身とそのサブクラスには開かれていますが、関係のない外部のクラスからは使えないため、公開可視性ではありません。
出典:平成27年度 秋期 システムアーキテクト試験 午前Ⅱ 問2
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)