010 メソッドのオーバーロード 009 解答例

public class ElectronicDevice {

    // 電子機器をオンにするメソッド
    public static void on() {
        System.out.println("Turning on the electronic device");
        // 実際の電子機器のオンに関する処理がここに入る(省略)
    }

    // タイマーを受け取り、指定された時間後に電源を切るメソッド(オーバーロード)
    public static void on(int timer) {
        System.out.println("Turning on the electronic device with a timer");
        // タイマーの時間待機後、実際の電子機器のオフに関する処理がここに入る(省略)
        System.out.println("Turning off the electronic device");
    }

    public static void main(String[] args) {
        // 電子機器を手動でオンにする
        on(); // 出力: Turning on the electronic device

        // タイマーを設定してオンにし、指定時間後に自動でオフになる
        on(10); // 出力: Turning on the electronic device with a timer
                // (10秒待機後) 出力: Turning off the electronic device
    }
}

このコードでは、ElectronicDevice クラスが電子機器を手動でオンにする on メソッドと、タイマーを受け取り指定された時間後に自動でオフにする on メソッド(オーバーロード)を提供しています。メインメソッドではこれらのメソッドを呼び出し、結果を表示しています。なお、実際の電子機器の動作は省略しています。

ポイント:

  1. onメソッド:
    • on メソッドは、何も受け取らずに電子機器をオンにするメソッドです。
    • 電子機器のオンに関する処理が含まれるように実装します。
    • このメソッドが呼び出されると、「Turning on the electronic device」といったメッセージが表示されます。
  2. onメソッド(オーバーロード):
    • on メソッドのオーバーロードとして、タイマーを受け取り、指定された時間後に自動で電源を切るメソッドを追加します。
    • タイマーの時間が経過したら、自動で電源が切れるように実装します。
    • このメソッドが呼び出されると、「Turning on the electronic device with a timer」といったメッセージが表示され、指定された時間後に「Turning off the electronic device」といったメッセージが表示されます。
  3. 注意事項:
    • 実際の電子機器の動作はシミュレートするものであり、実際のデバイス制御は省略されています。
    • タイマーの単位や実際のタイマー実装は問題の範囲外とし、基本的な概念に焦点を当てて実装します。

これらのポイントをもとに、ElectronicDevice クラスを実装してみてください。

「010 メソッドのオーバーロード」問題集リスト