[オブジェクト指向と情報処理試験 -2001年 春-]
ココが変だよ? 情報処理試験 -午後-
![]() | 2001年 午前問題はこちらから |
ソフトウェア開発技術者 午後1 問2
|
設問1
|
(コメント)
nope | 属性の値の取得用の操作まで、いちいち明示的に示すべきなのだろうか?という部分は気になりますが、まあいいでしょう。 |
設問2
|
(コメント)
MM | 貸出物クラスに「貸出処理をする」と「返却処理をする」というメソッドは必要だと思いますか?
私が見た解答集には、貸出物クラスに、これらのメソッドは無かったのですが、私は必要だと思うのですが。いかがでしょうか? |
nope | てゆーか、そもそもモデルが変だと思うんだよね。
「貸出物」が「貸出履歴」を参照し、さらに「貸出」を集約しているとかならまだわかるんだけど。 図の中の「貸出履歴」は「貸出」と「貸出履歴」があいまいに交じり合ったようなクラスだよね。どっちを表したいのかよくわからん。 「貸出処理をする」と「返却処理をする」の操作が必要か、ということですが、「委譲する」と書いてあるのでやはり必要でしょう。該当する二つの操作が「貸出物」で定義されていない場合は、「貸出物」に対して「貸出履歴をくれ」などと言って、その次に「貸出処理したい」などと言わねばならなくなるので。 |
設問3
|
(コメント)
nope | [a] カプセル化
[b] メッセージ [c] データ [d] オーバライド [e] ポリモルフィズム [f] メモリ [g] ガーベジコレクション [b]ですけど「メッセージ(送信)を介して」でしょう。メッセージを受け取ったオブジェクトが起動するものが「メソッド」です。 [e]は厳密にはポリモルフィズムの説明になっていないと思います。出題者の意図としてはそう書かせたいのはわかるんですけどね。 ポリモルフィズムは「多態性」などと書かれます。 同一のメッセージに対して、受け取ったオブジェクトがいろいろな異なる振る舞いをするので、「多態」なのです。 問題文の「実装が異なっても、それを呼び出すプログラムが違いを意識しなくてよいこと」は「ポリモルフィズムによって得られる恩恵、効果」の説明ではあっても、「ポリモルフィズム」の説明ではないですよね。 あと[f]ですが、ここはあえてメモリ。 「プログラムによって生成されるオブジェクトの実体」だけではヒープと限定してしまうのはちょっと憚られます。別にauto変数でも「プログラムによってstack上に作られる」ということは出来るしね。でも厳密に考えすぎるとかえって損をするのかも。 「プログラムによって"動的に"生成されるオブジェクトの実体...」とあれば迷いが無く、スパーンと解答できるんですけどね。 |
さわやか | 私は、
[a] カプセル化 [b] メッセージ [c] データ [d] オーバーライド [e] ポリモルフィズム [f] メモリ [g] ガーベジコレクション と解答しました。 [f]はヒープと答えさせるのは引っ掛けか!?と裏を読んで答えたんですが、よくよく考えると出題者もそこまで考えてなかったのかもしれません。 |
© 2001 OGIS-RI Co., Ltd. |
|