34 lines
1.9 KiB
PHP
34 lines
1.9 KiB
PHP
<?php
|
||
|
||
/**
|
||
* [Ex06 オブジェクト指向 - SuperHeroクラスの作成と利用]
|
||
*
|
||
* 難易度:上級
|
||
*
|
||
* TODO:
|
||
* 1. 既に実装済みの "common/Hero.php"(および "common/Character.php")は変更不要です。
|
||
* ※Hero クラスは namespace Common を使用して定義され、初期値は (HP:25, POWER:10, ENDURANCE:7) となっています。
|
||
*
|
||
* 2. 新しく "common/SuperHero.php" を作成し、以下の仕様に従って SuperHero クラスを定義してください。
|
||
* - クラス名: SuperHero
|
||
* - SuperHero クラスは Common\Hero クラスを継承すること。
|
||
* - プロパティ:
|
||
* equipment : Common\Item(装備品。型チェックは任意ですが、アクセサは実装すること)
|
||
* - メソッド:
|
||
* ・アクセサ:getEquipment() と setEquipment() を実装してください。
|
||
* ・attack() メソッドのオーバーライド:
|
||
* 基本の攻撃力(Hero::attack() の戻り値)に加え、もし equipment が設定されている場合は
|
||
* equipment の追加ダメージ(getAdditionalDamage() の値)を加算した値を返すようにしてください.
|
||
*
|
||
* 3. 本ファイル内で、require_once を使い "common/SuperHero.php" を読み込んでください。
|
||
*
|
||
* 4. namespace を利用して、Common\SuperHero クラスおよび Common\Item クラスを使用してください。
|
||
*
|
||
* 5. 以下の仮のデータを利用して、SuperHero クラスのインスタンスを生成してください:
|
||
* - 名前: "スーパー勇者"
|
||
* - 装備品: Common\Item クラスのインスタンス(例:"Excalibur", additional_damage: 20)
|
||
*
|
||
* 6. 生成した SuperHero インスタンスの attack() メソッドを実行し、攻撃力(基本攻撃+追加ダメージ)の値を出力してください。
|
||
*
|
||
*/
|