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