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

// Animal クラスの定義
class Animal {
    // sound メソッド
    public void sound() {
        System.out.println("Animal sound");
    }
}

// Dog クラスの定義(Animal クラスを継承)
class Dog extends Animal {
    // sound メソッドをオーバーライド
    @Override
    public void sound() {
        System.out.println("Woof!");
    }
}

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

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

このコードでは、Animal クラスには sound メソッドがあり、Dog クラスがこれを継承しています。Dog クラスでは sound メソッドをオーバーライドして、”Woof!” と表示するようにしています。メインクラスでは、Animal クラスと Dog クラスのオブジェクトを作成し、それぞれの sound メソッドを呼び出しています。結果として、最初は”Animal sound”、次に”Woof!”が表示されます。

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