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

// Sportクラスの定義
class Sport {
    // playメソッド
    public void play() {
        System.out.println("スポーツをします");
    }
}

// Footballクラスの定義(Sportクラスを継承)
class Football extends Sport {
    // playメソッドのオーバーライド
    @Override
    public void play() {
        System.out.println("サッカーをします");
    }
}

// Basketballクラスの定義(Sportクラスを継承)
class Basketball extends Sport {
    // playメソッドのオーバーライド
    @Override
    public void play() {
        System.out.println("バスケットボールをします");
    }
}

// メインクラス
public class Main {
    public static void main(String[] args) {
        // Sportクラスのインスタンス
        Sport genericSport = new Sport();
        genericSport.play();  // スポーツをします

        // Footballクラスのインスタンス
        Football football = new Football();
        football.play();  // サッカーをします

        // Basketballクラスのインスタンス
        Basketball basketball = new Basketball();
        basketball.play();  // バスケットボールをします
    }
}

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

「014 継承」問題集リスト