HOME»応用情報技術者試験掲示板»平成22年春期午後問8
投稿する
こちら説明に不備がございました。「金額問合せ」は、
・乗車券の場合と特急券の場合で、処理内容が異なる(特急券の場合は列車も料金換計算に必要なため)
と認識しており、継承先の"乗車券クラス"と"急行券クラス"では振る舞いが異なる
=> 切符クラスの金額問合せは抽象メソッドであり、継承先のクラスでも定義が必要(オーバーライド)
という考えから、①と②の質問をさせていただきました。
»[5784] 午後試験の記述のアルファベットについて 投稿数:8
»[5783] 平成28年秋期午後問10設問3(3)について 投稿数:4
平成22年春期午後問8 [5786]
s12345さん(No.1)
https://www.ap-siken.com/kakomon/22_haru/pm08.html
設問1についてどなたかご教授いただけますでしょうか。
①:「b:金額問合せ」とありますが、こちら切符クラスは抽象クラスのため、「金額問合せ」も抽象メソッドだと思っております。そうすると、乗車券クラスや急行券クラスにも「金額問合せ」の定義があることが正しいと思うのですが、こちら認識通りでしょうか。(当問題のUMLが一部省略をしているという認識です)
②:多様性についてですが、①の認識に誤りがない場合、「b:金額問合せ」も多様性をもつメッセージに該当する操作という認識でよろしいのでしょうか。
設問1についてどなたかご教授いただけますでしょうか。
①:「b:金額問合せ」とありますが、こちら切符クラスは抽象クラスのため、「金額問合せ」も抽象メソッドだと思っております。そうすると、乗車券クラスや急行券クラスにも「金額問合せ」の定義があることが正しいと思うのですが、こちら認識通りでしょうか。(当問題のUMLが一部省略をしているという認識です)
②:多様性についてですが、①の認識に誤りがない場合、「b:金額問合せ」も多様性をもつメッセージに該当する操作という認識でよろしいのでしょうか。
2025.04.14 21:49
s12345さん(No.2)
> こちら切符クラスは抽象クラスのため、「金額問合せ」も抽象メソッドだと思っております。
こちら説明に不備がございました。「金額問合せ」は、
・乗車券の場合と特急券の場合で、処理内容が異なる(特急券の場合は列車も料金換計算に必要なため)
と認識しており、継承先の"乗車券クラス"と"急行券クラス"では振る舞いが異なる
=> 切符クラスの金額問合せは抽象メソッドであり、継承先のクラスでも定義が必要(オーバーライド)
という考えから、①と②の質問をさせていただきました。
2025.04.14 21:59
jjon-comさん(No.3)
★AP プラチナマイスター
応用情報 平成22年 春期 午後 問8
https://www.ap-siken.com/kakomon/22_haru/pm08.html
いいえ、同じ処理内容です。切符クラスにおける 金額問合せ()という具象メソッドがそれを担っています。
つまり、
乗車券インスタンスに対しては 運賃問合せ()メソッド、
急行券インスタンスに対しては 料金問合せ()メソッド、
のように異なるメソッドにしたくなかったわけです。
ですから、
乗車券インスタンスの場合は、乗車券クラスの"運賃"属性 と 継承した切符クラスの"金額"属性に同じ値を、
急行券インスタンスの場合は、急行券クラスの"料金"属性 と 継承した切符クラスの"金額"属性に同じ値を、
設定することで、
金額問合せ()メソッドを呼び出せば、乗車券の場合は運賃が、急行券の場合は料金が、参照できるように設計したわけです。
https://www.ap-siken.com/kakomon/22_haru/pm08.html
> 「金額問合せ」は、乗車券の場合と特急券の場合で、処理内容が異なる
いいえ、同じ処理内容です。切符クラスにおける 金額問合せ()という具象メソッドがそれを担っています。
〔前提〕
・乗車券は(略),金額(運賃)が決まる。
・急行券は(略),金額(料金)が決まる。
〔発売時〕
・(略),金額(運賃又は料金)を算出し,表示する。
図2のクラス図におけるスーパークラス"切符"とそのサブクラス"乗車券"及び"急行券"では,共通の属性をスーパークラスに,サブクラス個別の属性を各サブクラスにもたせている。ただし,属性"運賃"と"料金"については,個別に残しながら,共通の属性"金額"を追加した。
と問題文で説明されています。・乗車券は(略),金額(運賃)が決まる。
・急行券は(略),金額(料金)が決まる。
〔発売時〕
・(略),金額(運賃又は料金)を算出し,表示する。
図2のクラス図におけるスーパークラス"切符"とそのサブクラス"乗車券"及び"急行券"では,共通の属性をスーパークラスに,サブクラス個別の属性を各サブクラスにもたせている。ただし,属性"運賃"と"料金"については,個別に残しながら,共通の属性"金額"を追加した。
つまり、
乗車券インスタンスに対しては 運賃問合せ()メソッド、
急行券インスタンスに対しては 料金問合せ()メソッド、
のように異なるメソッドにしたくなかったわけです。
ですから、
乗車券インスタンスの場合は、乗車券クラスの"運賃"属性 と 継承した切符クラスの"金額"属性に同じ値を、
急行券インスタンスの場合は、急行券クラスの"料金"属性 と 継承した切符クラスの"金額"属性に同じ値を、
設定することで、
金額問合せ()メソッドを呼び出せば、乗車券の場合は運賃が、急行券の場合は料金が、参照できるように設計したわけです。
2025.04.15 00:31
s12345さん(No.4)
jjon-comさま
ご回答いただきありがとうございます。
こちら見落としておりました。
ご説明が分かりやすく非常にためになりました!
またご縁がありましたら、どうぞよろしくお願いいたします。
ご回答いただきありがとうございます。
> ただし,属性"運賃"と"料金"については,個別に残しながら,共通の属性"金額"を追加した。
こちら見落としておりました。
ご説明が分かりやすく非常にためになりました!
またご縁がありましたら、どうぞよろしくお願いいたします。
2025.04.15 11:37
その他のスレッド
»[5785] 午後問題の何が問われているかの判断|29年春問11監査 投稿数:7»[5784] 午後試験の記述のアルファベットについて 投稿数:8
»[5783] 平成28年秋期午後問10設問3(3)について 投稿数:4