014 継承(オーバーライドされたメソッドの利用) 023 解答例

// Fruitクラスの定義
class Fruit {
    // getTasteメソッド
    public void getTaste() {
        System.out.println("味を取得します");
    }
}

// Appleクラスの定義(Fruitクラスを継承)
class Apple extends Fruit {
    // getTasteメソッドのオーバーライド
    @Override
    public void getTaste() {
        System.out.println("りんごの味を取得しました");
    }
}

// Bananaクラスの定義(Fruitクラスを継承)
class Banana extends Fruit {
    // getTasteメソッドのオーバーライド
    @Override
    public void getTaste() {
        System.out.println("バナナの味を取得しました");
    }
}

// メインクラス
public class Main {
    public static void main(String[] args) {
        // Fruitクラスのインスタンス
        Fruit fruit = new Fruit();
        fruit.getTaste();  // 味を取得します

        // Appleクラスのインスタンス
        Apple apple = new Apple();
        apple.getTaste();  // りんごの味を取得しました

        // Bananaクラスのインスタンス
        Banana banana = new Banana();
        banana.getTaste();  // バナナの味を取得しました
    }
}

このコードでは、Fruit クラスが基本的な getTaste メソッドを提供し、Apple クラスと Banana クラスがそれを継承して必要なメソッドをオーバーライドしています。それぞれのクラスのインスタンスを作成し、getTaste メソッドを呼び出すことで、対応するメッセージが表示されます。

「014 継承」問題集リスト