018 オブジェクト指向の深化(ポリモーフィズムの応用) 013 問題

問題

抽象クラス Student があり、それを継承した UndergraduateStudent と GraduateStudent クラスがあります。
Student クラスには calculateGrade メソッドがあり、各サブクラスはこのメソッドをオーバーライドして成績を計算します。
main メソッドで、異なる種類の学生の成績を計算し、結果を表示するプログラムを作成してください。

ヒント

  1. Student クラスの作成:
    • Student 抽象クラスを作成します。
    • calculateGrade メソッドを抽象メソッドとして宣言します。
  2. UndergraduateStudent クラスの作成:
    • UndergraduateStudent クラスを作成し、Student クラスを継承します。
    • calculateGrade メソッドをオーバーライドして、学部生の成績を計算します。
  3. GraduateStudent クラスの作成:
    • GraduateStudent クラスを作成し、Student クラスを継承します。
    • calculateGrade メソッドをオーバーライドして、大学院生の成績を計算します。
  4. Main メソッドの作成:
    • main メソッドを作成し、異なる種類の学生のインスタンスを生成します。
    • 各インスタンスの calculateGrade メソッドを呼び出して、成績を表示します。

これらの手順に従って、異なる種類の学生の成績を計算し、その結果を表示するプログラムを構築してみてください。各クラスでのメソッドのオーバーライドと、main メソッドでの適切なオブジェクトの生成とメソッドの呼び出しに注意してください。

解答例

「018 オブジェクト指向の深化」問題集リスト