平成22年度 春期 午前Ⅱ 問17
システム開発技術
クラス図に関する問題
次のクラス図におけるクラス間の関係の説明のうち,適切なものはどれか。
クラス図(“自動車”の下に白抜きの三角があり,そこから“バス”,“トラック”,“セダン”,“バン”の各クラスへ線が分かれる。横線の右端は破線で続く):
┌──────┐
│自動車│
└──────┘
△
│
┌──────────┬────────┴─┬──────────┬ - - - -
┌──────┐ ┌────────┐ ┌──────┐ ┌────┐
│ バス │ │トラック│ │セダン│ │バン│
└──────┘ └────────┘ └──────┘ └────┘- ア“バス”,“トラック”などのクラスが“自動車”クラスの定義を引き継ぐことを,インスタンスという。
- イ“バス”,“トラック”などのクラスの共通部分を抽出し“自動車”クラスとして定義することを,汎化という。
- ウ“バス”,“トラック”などのクラスは,“自動車”クラスに対するオブジェクトという。
- エ“バス”,“トラック”などのそれぞれのクラスの違いを“自動車”クラスとして定義することを,特化という。
答えと解説を見る
✓ これが正解イ“バス”,“トラック”などのクラスの共通部分を抽出し“自動車”クラスとして定義することを,汎化という。
解説
各クラスの共通部分を上位の自動車クラスにまとめるのが汎化です。
図の白抜きの三角は、上位のクラスと下位のクラスの間の汎化の関係を表します。バス、トラック、セダン、バンには、人や荷物を載せて走るといった共通の性質があります。それらの共通部分を取り出し、より一般的な自動車クラスとして定義することを汎化といいます。逆向きに、自動車クラスをもとに個々のクラスの違いを加えて定義することは特化です。下位のクラスは上位のクラスの定義を継承します。共通部分をまとめて上へ向かうのが汎化、違いを加えて下へ向かうのが特化と、向きで覚えると判断できます。
ほかの選択肢はなぜ違うのか
- ア“バス”,“トラック”などのクラスが“自…:下位のクラスが上位のクラスの定義を引き継ぐことは継承と呼びます。インスタンスは、クラスをもとに実際に作られた一つ一つの具体的なオブジェクトのことで、クラスどうしの関係を指す言葉ではありません。
- ウ“バス”,“トラック”などのクラスは,“…:バスやトラックは、自動車の下位に当たるクラスであって、オブジェクトではありません。オブジェクトは、バスクラスなどをもとに作られた個々の具体的な車のような、実体の側を指します。
- エ“バス”,“トラック”などのそれぞれのク…:個々のクラスの違いを上位のクラスとしてまとめるという説明は、汎化と特化の向きを取り違えています。特化は、上位のクラスに違いを加えて下位のクラスを定義することで、違いを上位に集めるものではありません。
出典:平成22年度 春期 プロジェクトマネージャ試験 午前Ⅱ 問17
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)