クラスの応用 / メソッドのオーバーライド / 演習 01
📝 ドリル 01 — Cat で speak() をオーバーライド
問題
Animal クラスを定義してください。
- メソッド
speak()は"何かの声"を 1 行出力する
Animal を継承した Cat クラスを定義してください。
speak()をオーバーライドして"ニャー"を 1 行出力する
Cat のインスタンスを作って speak() を呼んでください。
期待される出力:
ニャー
採点
php scripts/grade.php v2/topics/09-class-advanced/ch02-override/drill/01-override-method/
ヒント
- 親と 同じ名前のメソッド を子に書けばオーバーライド
- 子のインスタンスでは、自動的に子のメソッドが呼ばれる
テストケース
期待される出力
ニャー
📄 starter.php(雛形)
このコードから書き始めてください。
<?php
// TODO: Animal クラスを定義し、speak() で「何かの声」を出力する
// TODO: Animal を継承した Cat クラスを定義し、speak() をオーバーライドして「ニャー」を出力する
// TODO: Cat のインスタンスを作って speak() を呼ぶ
✅ 解答例を見る(自分で解いてから)
<?php
class Animal {
public function speak() {
echo "何かの声\n";
}
}
class Cat extends Animal {
public function speak() {
echo "ニャー\n";
}
}
$c = new Cat();
$c->speak();