クラスの応用 / ch03 — 親メソッドを呼ぶ (parent::) / 演習 01
📝 ドリル 01 — parent::greet() を呼ぶ
問題
Greeter クラスを定義してください。
- メソッド
greet()は"こんにちは"を 1 行出力する
Greeter を継承した FormalGreeter クラスを定義してください。
greet()をオーバーライドし、まずparent::greet()を呼んでから"本日はお世話になります"を 1 行出力する
FormalGreeter のインスタンスを作って greet() を呼んでください。
期待される出力:
こんにちは
本日はお世話になります
採点
php scripts/grade.php v2/topics/09-class-advanced/ch03-parent-call/drill/01-call-parent/
ヒント
parent::greet();で親の処理を呼べる- その後に追加の
echoを書く
テストケース
期待される出力
こんにちは
本日はお世話になります
📄 starter.php(雛形)
このコードから書き始めてください。
<?php
// TODO: Greeter クラスを定義し、greet() で「こんにちは」を出力する
// TODO: Greeter を継承した FormalGreeter を作り、
// greet() をオーバーライドして
// parent::greet() を呼んだ後に「本日はお世話になります」を出力する
// TODO: FormalGreeter のインスタンスを作って greet() を呼ぶ
✅ 解答例を見る(自分で解いてから)
<?php
class Greeter {
public function greet() {
echo "こんにちは\n";
}
}
class FormalGreeter extends Greeter {
public function greet() {
parent::greet();
echo "本日はお世話になります\n";
}
}
$g = new FormalGreeter();
$g->greet();