令和5年度 秋期 午前Ⅱ 問14
システム開発技術
汎化の説明
オブジェクト指向における汎化の説明として,適切なものはどれか。
- アあるクラスを基に,これに幾つかの性質を付加することによって,新しいクラスを定義する。
- イ幾つかのクラスに共通する性質をもつクラスを定義する。
- ウオブジェクトのデータ構造から所有の関係を見つける。
- エ同一名称のメソッドをもつオブジェクトを抽象化してクラスを定義する。
答えと解説を見る
✓ これが正解イ幾つかのクラスに共通する性質をもつクラスを定義する。
解説
複数のクラスに共通する性質をまとめたクラスを定義するのが汎化です。
オブジェクト指向の汎化は、幾つかのクラスに共通する性質を取り出し、それらをまとめる上位のクラスを定義することです。たとえば普通預金と定期預金に共通する口座番号や残高を取り出し、口座という上位のクラスを作るのがこれに当たります。見分ける軸は、クラスの関係を共通部分で下から上へまとめるのか、性質を付け加えて上から下へ広げるのか、全体と部分の関係を表すのかです。汎化と逆向きの操作が特化で、既存のクラスを基に性質を付け加えて新しい下位のクラスを定義します。共通点を上へ集めるのが汎化、違いを下へ足すのが特化、と組で覚えると取り違えません。
ほかの選択肢はなぜ違うのか
- アあるクラスを基に,これに幾つかの性質を付…:あるクラスを基に性質を付け加えて新しいクラスを定義するのは、汎化と逆向きの特化です。上位のクラスから下位のクラスを作る操作であり、共通部分をまとめ上げる汎化とは向きが反対です。
- ウオブジェクトのデータ構造から所有の関係を…:データ構造から所有の関係を見つけるのは、全体と部分の関係をとらえる集約の話です。共通する性質で上位と下位の関係を作る汎化とは、扱う関係の種類が違います。
- エ同一名称のメソッドをもつオブジェクトを抽…:同一名称のメソッドをもつというだけでオブジェクトをまとめても、名前の一致による分類にすぎず、共通する性質をもつ上位クラスの定義にはなりません。メソッドの名前がそろっているかどうかは汎化の基準ではありません。
出典:令和5年度 秋期 プロジェクトマネージャ試験 午前Ⅱ 問14
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)