クラスの応用 / ch05 — インターフェイス (interface / implements) / 演習 01

📝 ドリル 01 — Printable を Book で実装する

問題

Printable インターフェイスを定義してください。

  • メソッド宣言: public function output(): void; (中身は書かない)

Printable を実装する Book クラスを定義してください。

  • プロパティ title (string)
  • output()"本のタイトル: {title}" を 1 行出力する

Book のインスタンスを作って title"PHP 入門" を入れ、output() を呼んでください。

期待される出力:

本のタイトル: PHP 入門

採点

php scripts/grade.php v2/topics/09-class-advanced/ch05-interface/drill/01-implements/

ヒント

  • interface Printable { public function output(): void; }
  • class Book implements Printable { ... }
  • output() の中身は class 側で書く

テストケース

期待される出力

本のタイトル: PHP 入門

📄 starter.php(雛形)

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

<?php

// TODO: interface Printable を定義し、public function output(): void; を宣言する

// TODO: Printable を implements した Book クラスを定義する
//   - public string $title;
//   - public function output(): void { echo "本のタイトル: {$this->title}\n"; }

// TODO: Book のインスタンスを作って title = "PHP 入門" にし、output() を呼ぶ
✅ 解答例を見る(自分で解いてから)
<?php

interface Printable {
    public function output(): void;
}

class Book implements Printable {
    public string $title;

    public function output(): void {
        echo "本のタイトル: {$this->title}\n";
    }
}

$b = new Book();
$b->title = "PHP 入門";
$b->output();