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

// インターフェース ElectronicDevice
interface ElectronicDevice {
    // turnOn メソッド
    void turnOn();
}

// Television クラス
class Television implements ElectronicDevice {
    // オーバーライドされたメソッド
    @Override
    public void turnOn() {
        System.out.println("Television is turned on.");
        // テレビの起動処理を追加
    }
}

// Smartphone クラス
class Smartphone implements ElectronicDevice {
    // オーバーライドされたメソッド
    @Override
    public void turnOn() {
        System.out.println("Smartphone is turned on.");
        // スマートフォンの起動処理を追加
    }
}

// Main クラス
public class Main {
    public static void main(String[] args) {
        // 異なる電子機器のインスタンスを生成
        ElectronicDevice tv = new Television();
        ElectronicDevice phone = new Smartphone();

        // 電子機器を起動し、起動結果を表示
        System.out.println("Turning on the Television:");
        tv.turnOn();

        System.out.println("\nTurning on the Smartphone:");
        phone.turnOn();
    }
}

このプログラムでは、ElectronicDevice インターフェースを作成し、Television クラスと Smartphone クラスがそれを実装しています。各クラスでの turnOn メソッドがオーバーライドされ、main メソッドで異なる電子機器が起動されるときの挙動が表示されます。

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