Files
2026-10-06 12:10:09 +09:00

34 lines
1.9 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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() メソッドを実行し、攻撃力(基本攻撃+追加ダメージ)の値を出力してください。
*
*/