平成25年度 秋期 午前Ⅱ 問25
システム開発技術
汎化に関する問題
次のクラス図におけるクラス間の関係の説明のうち,適切なものはどれか。
クラス図:
自動車
△
│
┌──────┬──────┼──────┬------
バス トラック セダン バン
- 上に“自動車”クラスの箱があり,白抜き三角の矢印(汎化)から伸びた線が,下に並ぶ“バス”,“トラック”,“セダン”,“バン”の各クラスの箱につながっている。横線の右端は破線で続いている。
- ア“バス”,“トラック”などのクラスが“自動車”クラスの定義を引き継ぐことを,インスタンスという。
- イ“バス”,“トラック”などのクラスの共通部分を抽出し“自動車”クラスとして定義することを,汎化という。
- ウ“バス”,“トラック”などのクラスは,“自動車”クラスに対するオブジェクトという。
- エ“バス”,“トラック”などのそれぞれのクラスの違いを“自動車”クラスとして定義することを,特化という。
答えと解説を見る
✓ これが正解イ“バス”,“トラック”などのクラスの共通部分を抽出し“自動車”クラスとして定義することを,汎化という。
解説
複数のクラスの共通部分を上位のクラスとしてまとめることが汎化です。
クラス図の白抜き三角の矢印は、汎化の関係を表します。バス、トラック、セダン、バンには、エンジンを積んで道路を走るといった共通の性質があります。この共通部分を抜き出して、上位の自動車クラスとして定義することを汎化と呼びます。反対に、自動車クラスから出発して、それぞれの車種に固有の性質を加えて下位のクラスを定義していく見方が特化です。見分ける軸は、共通部分を上にまとめるのか、違いを下に付け加えるのか、という向きです。上位のクラスがスーパークラス、下位のクラスがサブクラスで、サブクラスはスーパークラスの定義を継承します。下から上へまとめるのが汎化、上から下へ分けるのが特化、と向きで覚えると取り違えません。
ほかの選択肢はなぜ違うのか
- ア“バス”,“トラック”などのクラスが“自…:サブクラスが上位のクラスの定義を引き継ぐことは、継承と呼びます。インスタンスは、クラスを基にして実際に作られた個々の実体を指す語で、クラス間の引き継ぎを表すものではありません。
- ウ“バス”,“トラック”などのクラスは,“…:バスやトラックは、自動車クラスの下位にあたるクラス、つまりサブクラスです。オブジェクトはクラスから作られた具体的な実体を指すので、クラスそのものをオブジェクトと呼ぶのは誤りです。
- エ“バス”,“トラック”などのそれぞれのク…:特化は、上位のクラスに固有の性質を付け加えて下位のクラスを定義することです。各クラスの違いを上位の自動車クラスとして定義するという説明は、向きも対象も特化の意味と合いません。
出典:平成25年度 秋期 ネットワークスペシャリスト試験 午前Ⅱ 問25
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)