平成28年度 秋期 午前 問47
システム開発技術
カプセル化の説明
オブジェクト指向におけるカプセル化を説明したものはどれか。
- ア同じ性質をもつ複数のオブジェクトを抽象化して,整理すること
- イ基底クラスの性質を派生クラスに受け継がせること
- ウクラス間に共通する性質を抽出し,基底クラスを作ること
- エデータとそれを操作する手続を一つのオブジェクトにして,データと手続の詳細をオブジェクトの外部から隠蔽すること
答えと解説を見る
✓ これが正解エデータとそれを操作する手続を一つのオブジェクトにして,データと手続の詳細をオブジェクトの外部から隠蔽すること
解説
データと手続をまとめ、中身を外から隠します。
オブジェクト指向の考え方をひとまとめに覚えようとすると混ざります。分けるこつは、話がクラスどうしの関係についてなのか、一つのオブジェクトの内側と外側の境目についてなのかを見ることでした。カプセル化は後者です。あるまとまりが持つデータと、そのデータを扱う手続とを一つのオブジェクトに収め、内部でどう持っているか、どう処理しているかを外からは見えなくします。外から使える口だけを決めておけば、内側の作りを後で変えても、使う側に影響が及びません。だから、データとそれを操作する手続を一つのオブジェクトにして、詳細を外部から隠蔽すると述べたものが当たります。残る三つは、いずれもクラスどうしの関係を整理する側の話で、一つのオブジェクトの内側を外から見えなくする話ではありませんでした。
ほかの選択肢はなぜ違うのか
- ア同じ性質をもつ複数のオブジェクトを抽象化…:同じ性質をもつ複数のオブジェクトを抽象化して整理することと述べています。個々のものから共通する枠を取り出して分類する作業で、話の中心はまとまりの作り方です。内側を外から見せないようにするという境目の話ではありません。
- イ基底クラスの性質を派生クラスに受け継がせ…:基底クラスの性質を派生クラスに受け継がせることと述べています。上下の関係にある二つのクラスの間で、性質をどう引き渡すかという話でした。一つのオブジェクトの中身を外へ見せるかどうかとは、扱っている問題が違います。
- ウクラス間に共通する性質を抽出し,基底クラ…:クラス間に共通する性質を抽出し、基底クラスを作ることと述べています。ばらばらのクラスから共通部分をくくり出して上位にまとめる作業です。向きは違ってもクラスどうしの関係の話であって、内部の隠蔽には触れていません。
出典:平成28年度 秋期 基本情報技術者試験 午前 問47
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)