クラスの応用 / ch08 — final クラス / final メソッド / 演習 01

📝 ドリル 01 — final class でインスタンスを作る

問題

Logger クラスを final を付けて定義してください。

  • メソッド log(string $msg)"[LOG] {msg}" を 1 行出力する

Logger のインスタンスを作って、log("started") を呼んでください。

期待される出力:

[LOG] started

採点

php scripts/grade.php v2/topics/09-class-advanced/ch08-final/drill/01-final-class/

メモ

  • final class を継承しようとすると Fatal error になります
  • このドリルでは「final を付けても インスタンス化と通常メソッド呼び出しは普通にできる」ことを確認します

ヒント

  • final class Logger { ... }
  • $l = new Logger();
  • $l->log("started");

テストケース

期待される出力

[LOG] started

📄 starter.php(雛形)

このコードから書き始めてください。

<?php

// TODO: final class Logger を定義する
//   - public function log(string $msg) { echo "[LOG] $msg\n"; }

// TODO: Logger のインスタンスを作って log("started") を呼ぶ
✅ 解答例を見る(自分で解いてから)
<?php

final class Logger {
    public function log(string $msg) {
        echo "[LOG] $msg\n";
    }
}

$l = new Logger();
$l->log("started");