015 ポリモーフィズム(基本的なポリモーフィズム) 004 解答例

// Person クラスの定義
class Person {
    // introduce メソッド
    public void introduce() {
        System.out.println("I am a person");
    }
}

// Student クラスの定義(Person クラスを継承)
class Student extends Person {
    // introduce メソッドをオーバーライド
    @Override
    public void introduce() {
        System.out.println("I am a student");
    }
}

// Teacher クラスの定義(Person クラスを継承)
class Teacher extends Person {
    // introduce メソッドをオーバーライド
    @Override
    public void introduce() {
        System.out.println("I am a teacher");
    }
}

// メインクラス
public class Main {
    public static void main(String[] args) {
        // Person クラスのオブジェクトを作成
        Person person = new Person();
        // Person クラスの introduce メソッドを呼び出す
        person.introduce();

        // Student クラスのオブジェクトを作成
        Student student = new Student();
        // Student クラスの introduce メソッドを呼び出す(オーバーライドされたバージョンが呼ばれる)
        student.introduce();

        // Teacher クラスのオブジェクトを作成
        Teacher teacher = new Teacher();
        // Teacher クラスの introduce メソッドを呼び出す(オーバーライドされたバージョンが呼ばれる)
        teacher.introduce();
    }
}

このコードでは、Person クラスにはデフォルトの introduce メソッドがあり、Student クラスと Teacher クラスがそれぞれこのメソッドをオーバーライドしています。メインクラスでは、Person クラス、Student クラス、および Teacher クラスのオブジェクトを作成し、それぞれの introduce メソッドを呼び出しています。

「015 ポリモーフィズム」問題集リスト