平成28年度 秋期 午前 問47
開発技術
クラスに関する記述
オブジェクト指向言語のクラスに関する記述のうち,適切なものはどれか。
- アインスタンス変数には共有データが保存されているので,クラス全体で使用できる。
- イオブジェクトに共通する性質を定義したものがクラスであり,クラスを集めたものがクラスライブラリである。
- ウオブジェクトはクラスによって定義され,クラスにはメソッドと呼ばれる共有データが保存されている。
- エスーパクラスはサブクラスから独立して定義し,サブクラスの性質を継承する。
答えと解説を見る
✓ これが正解イオブジェクトに共通する性質を定義したものがクラスであり,クラスを集めたものがクラスライブラリである。
解説
クラスは共通の性質の定義で、集めたものがクラスライブラリです。
設問は、オブジェクト指向言語のクラスに関する記述として適切なものを選ばせています。土台になるのは、クラスが設計図で、そこから作り出した実物がオブジェクトだという関係です。設計図には、その種類に共通する性質として、値を収める入れ物と、その値を扱う手続きであるメソッドが書かれます。こうして作った設計図のうち、よく使うものを部品として集めておいたものがクラスライブラリで、書く手間を省き、品質のそろった部品を再び利用するための仕組みになります。よって、オブジェクトに共通する性質を定義したものがクラスであり、クラスを集めたものがクラスライブラリである、という記述が当てはまります。残りの三つは、この関係のどこか一か所だけを入れ替えて作られています。
ほかの選択肢はなぜ違うのか
- アインスタンス変数には共有データが保存され…:インスタンス変数は、作り出した実物が一つずつ別々に持つ値の入れ物です。全体で一つだけ持たせたい値は、実物の側ではなく定義の側に置くので、共有されているという説明が誤りです。
- ウオブジェクトはクラスによって定義され,ク…:前半の、オブジェクトがクラスによって定義されるという部分は正しく書けています。ところが後半のメソッドは値ではなく手続きなので、共有データと言い換えたところで話が壊れています。
- エスーパクラスはサブクラスから独立して定義…:受け継ぐ向きが逆さまになっています。性質を受け取るのは下位に置かれる側で、上位に置かれる側が下位から性質をもらうことはありません。独立して定義できるという前半だけが正しい形です。
出典:平成28年度 秋期 応用情報技術者試験 午前 問47
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)