演習課題「親クラスと子クラス」
右のコードでは、あいさつをするGreetingクラスとNewFriendクラスが定義されていますが、正しく動作しません。
サンプル出力と同じように表示されるよう、コードを修正してください。
プログラムを実行して、正しく出力されれば演習課題クリアです!
期待する出力値
hello paiza
hello PHP
#06:クラスからメソッドを呼び出してみよう
ここでは、PHPのクラスで、いろいろなメソッド呼び出しについて学習します。
<?php
// クラスからメソッドを呼び出してみよう
class Player {
public $myName;
public function __construct($name) {
$this->myName = $name;
}
public function attack($enemy) {
echo $this->myName."は、".$enemy."を攻撃した!\n";
}
}
class Wizard extends Player {
public function __construct() {
parent::__construct("魔法使い");
}
public function attack($enemy) {
$this->spell();
echo $this->myName."は、".$enemy."に炎を放った!\n";
}
private function spell() {
echo "シャラララーン!\n";
}
}
echo "=== パーティーでスライムと戦う ===\n";
$hero = new Player("勇者");
// $hero->attack("スライム");
$warrior = new Player("戦士");
$wizard = new Wizard();
$party = [$hero, $warrior, $wizard];
foreach ($party as $member) {
$member->attack("スライム");
}
// $wizard->spell();
?>
- 【PHP入門】継承(extends)、トレイト(trait)を使いこなそう!
https://www.sejuku.net/blog/23789