no message
This commit is contained in:
33
Question13-Inheritance/Ex06.php
Normal file
33
Question13-Inheritance/Ex06.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?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() メソッドを実行し、攻撃力(基本攻撃+追加ダメージ)の値を出力してください。
|
||||
*
|
||||
*/
|
||||
Reference in New Issue
Block a user