演習課題「RPGの攻撃シーン」
右のコードには、RPGの攻撃シーンを表示するプログラムで、$players配列から、attackメソッドを順番に呼び出します。このコードを修正して、下記のサンプル出力が表示されるように、右のコードを修正してください。
プログラムを実行して、正しく出力されれば演習課題クリアです!
期待する出力値
勇者はスライムを攻撃した
魔法使いはスライムを攻撃した
戦士はスライムを猛攻撃した
#05:RPGのPlayerクラスを継承で記述2
ここでは、クラス継承の具体例として、RPGのPlayerクラスを継承で記述します。
前回に引き続いて、親クラスを継承して、魔法使いのクラスを作成しましょう。
<?php
// RPGのPlayerクラスを継承で記述 その2
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 attack($enemy) {
echo "シャラララーン!\n";
echo $this->myName."は、".$enemy."に炎を放った!\n";
}
}
echo "=== パーティーでスライムと戦う ===\n";
$hero = new Player("勇者");
// $hero->attack("スライム");
$warrior = new Player("戦士");
$wizard = new Wizard("魔法使い");
$party = [$hero, $warrior, $wizard];
foreach ($party as $member) {
$member->attack("スライム");
}
?>
- PHP: コンストラクタとデストラクタ - Manual
http://php.net/manual/ja/language.oop5.decon.php
- yan note: PHP 継承とオーバーライド
http://yan-note.blogspot.jp/2013/03/php_25.html