平成25年度 秋期 午前 問47
開発技術
オブジェクト指向に関する問題
オブジェクト指向言語のクラスに関する記述のうち,適切なものはどれか。
- アインスタンス変数には共有データが保存されているので,クラス全体で使用できる。
- イオブジェクトに共通する性質を定義したものがクラスであり,クラスを集めたものがクラスライブラリである。
- ウオブジェクトはクラスによって定義され,クラスにはメソッドと呼ばれる共有データが保存されている。
- エスーパクラスはサブクラスから独立して定義し,サブクラスの性質を継承する。
答えと解説を見る
✓ これが正解イオブジェクトに共通する性質を定義したものがクラスであり,クラスを集めたものがクラスライブラリである。
解説
共通する性質を定義したものがクラスです。
設問は、オブジェクト指向言語のクラスに関する記述として適切なものを選ばせています。肢を読む前に語の意味を並べておくと、取り違えが浮き上がります。クラスは設計図にあたり、共通する属性と操作を定義したものです。そこから作られた個々の実体がオブジェクトで、実体ごとに別々にもつ値と、クラス全体で一つを分け合う値は区別されます。操作は手続であってデータではありません。継承は上位の一般的なものから下位の具体的なものへ性質が受け継がれる向きに決まっています。よく使うクラスをまとめて再利用できるようにしたものがクラスライブラリで、入出力や文字列処理や画面部品のひとそろいがこれにあたります。よって、オブジェクトに共通する性質を定義したものがクラスであり、クラスを集めたものがクラスライブラリである、という記述が当てはまります。前半も後半も定義どおりで、再利用という狙いにもかなっています。
ほかの選択肢はなぜ違うのか
- アインスタンス変数には共有データが保存され…:分け合う値の説明を、実体ごとに別々にもつ値のほうに貼り付けた記述です。全体から使えるという後半だけを見ると正しく読めてしまいますが、主語が入れ替わっているので成り立ちません。
- ウオブジェクトはクラスによって定義され,ク…:手続を指す語に、データという説明を当てはめた記述です。名前どおり呼び出して何かをさせるためのものなので、値を保存しておく入れ物として扱うことはできません。
- エスーパクラスはサブクラスから独立して定義…:上位のものが下位のものから性質を受け継ぐ、と述べており、受け渡しの向きが逆になっています。前半の、下位と切り離して定義できるという部分は正しいので、後半まで読まないと落とせません。
出典:平成25年度 秋期 応用情報技術者試験 午前 問47
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)