// 抽象クラス Student
abstract class Student {
// calculateGrade メソッド
public abstract void calculateGrade();
}
// UndergraduateStudent クラス
class UndergraduateStudent extends Student {
// オーバーライドされたメソッド
@Override
public void calculateGrade() {
System.out.println("Calculating undergraduate student's grade...");
// 成績計算の具体的な処理を追加
}
}
// GraduateStudent クラス
class GraduateStudent extends Student {
// オーバーライドされたメソッド
@Override
public void calculateGrade() {
System.out.println("Calculating graduate student's grade...");
// 成績計算の具体的な処理を追加
}
}
// Main クラス
public class Main {
public static void main(String[] args) {
// 異なる種類の学生のインスタンスを生成
Student undergraduateStudent = new UndergraduateStudent();
Student graduateStudent = new GraduateStudent();
// 学生の成績を計算し、結果を表示
System.out.println("Calculating grades for an undergraduate student:");
undergraduateStudent.calculateGrade();
System.out.println("\nCalculating grades for a graduate student:");
graduateStudent.calculateGrade();
}
}
このプログラムでは、Student
抽象クラスを作成し、UndergraduateStudent
クラスと GraduateStudent
クラスがそれを継承しています。calculateGrade
メソッドがオーバーライドされ、main
メソッドで異なる種類の学生の成績が計算されるときの挙動が表示されます。