クラスの応用 / 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");