HOME»基本情報技術者試験掲示板»平成30年 春 午後問11について質問
投稿する
平成30年 春 午後問11について質問 [4794]
ぱせりさん(No.1)
平成30年 春 午後問11(Java)に関する質問です。
〔プログラム3〕クラスAdditionで定義されているメソッド evaluateでは
return left.evaluate() + right.evaluate()とあります。
left.evaluate()のevaluate()はどこのメソッドを示しているのでしょうか?
〔プログラム3〕クラスAdditionで定義されているメソッド evaluateでは
return left.evaluate() + right.evaluate()とあります。
left.evaluate()のevaluate()はどこのメソッドを示しているのでしょうか?
2023.04.14 06:28
ぱせりさん(No.2)
mainメソッドを実行した際、
プログラム3のleftにtwo、rightにfiveが入るためleft.evaluate()がtwo.evaluate()に変わり、
プログラム2のメソッドevaluateが呼ばれると考えております。
プログラム3のleftにtwo、rightにfiveが入るためleft.evaluate()がtwo.evaluate()に変わり、
プログラム2のメソッドevaluateが呼ばれると考えております。
2023.04.14 06:33
電タックさん(No.3)
★FE ブロンズマイスター
mainを持つプログラム4の実行であれば
ご理解の通りでプログラム3で参照されるleftは
プログラム2の
Expression型のConstant実装として扱われます。
試験とはあまり関係ないですが
この手の入れ子と値の関係はファイルとディレクトリの実現などで使われたりと
デザインパターンのコンポジットパターンという名称が付いてたりします。
ご理解の通りでプログラム3で参照されるleftは
プログラム2の
Expression型のConstant実装として扱われます。
試験とはあまり関係ないですが
この手の入れ子と値の関係はファイルとディレクトリの実現などで使われたりと
デザインパターンのコンポジットパターンという名称が付いてたりします。
2023.04.14 11:40
ぱせりさん(No.4)
電タック様
ご回答いただきありがとうございます!
同じメソッド名が多く、どのことを指しているのか時々分からなくなってしまいますが、落ち着いて解析したいと思います!
ご回答いただきありがとうございます!
同じメソッド名が多く、どのことを指しているのか時々分からなくなってしまいますが、落ち着いて解析したいと思います!
2023.04.14 11:51