018 オブジェクト指向の深化(ポリモーフィズムの応用) 012 解答例

// 抽象クラス Vehicle
abstract class Vehicle {
    // start メソッド
    public abstract void start();
}

// Car クラス
class Car extends Vehicle {
    // オーバーライドされたメソッド
    @Override
    public void start() {
        System.out.println("Car started. Vroom vroom!");
    }
}

// Motorcycle クラス
class Motorcycle extends Vehicle {
    // オーバーライドされたメソッド
    @Override
    public void start() {
        System.out.println("Motorcycle started. Vroom!");
    }
}

// Main クラス
public class Main {
    public static void main(String[] args) {
        // 異なる種類の車両のインスタンスを生成
        Vehicle car = new Car();
        Vehicle motorcycle = new Motorcycle();

        // 車両を始動し、結果を表示
        System.out.println("Starting the car:");
        car.start();

        System.out.println("\nStarting the motorcycle:");
        motorcycle.start();
    }
}

このプログラムでは、Vehicle 抽象クラスを作成し、Car クラスと Motorcycle クラスがそれを継承しています。start メソッドがオーバーライドされ、main メソッドで異なる種類の車両が始動されるときの挙動が表示されます。

「018 オブジェクト指向の深化」問題集リスト