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

// Vehicleクラスの定義
class Vehicle {
    // startメソッド
    public void start() {
        System.out.println("乗り物が始動しました");
    }
}

// Carクラスの定義(Vehicleクラスを継承)
class Car extends Vehicle {
    // startメソッドのオーバーライド
    @Override
    public void start() {
        System.out.println("車がエンジンをかけました");
    }
}

// Motorcycleクラスの定義(Vehicleクラスを継承)
class Motorcycle extends Vehicle {
    // startメソッドのオーバーライド
    @Override
    public void start() {
        System.out.println("バイクがエンジンをかけました");
    }
}

// メインクラス
public class Main {
    public static void main(String[] args) {
        // Vehicleクラスのインスタンス
        Vehicle vehicle = new Vehicle();
        vehicle.start();  // 乗り物が始動しました

        // Carクラスのインスタンス
        Car car = new Car();
        car.start();  // 車がエンジンをかけました

        // Motorcycleクラスのインスタンス
        Motorcycle motorcycle = new Motorcycle();
        motorcycle.start();  // バイクがエンジンをかけました
    }
}

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

「014 継承」問題集リスト