課題8-1

課題 8-1
次のプログラムコードを良く読み、VirtualPet クラスはどのようなものであるか理解し
たうえで、以下の設問に従ってプログラムを完成させなさい。
class VirtualPet {
String name;
int HP; // 現在の体力
int maxHP; // 最大体力
VirtualPet(String name) {
this.name = name;
this.HP = 50;
this.maxHP = 100;
}
void printInfo() {
System.out.println("名前:" + this.name);
System.out.println("体力:" + this.HP);
System.out.println("最大体力:" + this.maxHP);
}
void run() {
if (this.HP < 10) {
System.out.println(name + ":体力が足りなくて走れません。");
} else {
System.out.println(name + ":走るよ。体力-10。最大体力+10");
this.HP -= 10;
this.maxHP += 10;
}
}
void sleep() {
System.out.println(name + ":おやすみなさい。体力完全回復");
this.HP = this.maxHP;
}
void eat() {
System.out.println(name + ":いただきます。体力回復+30");
this.HP += 30;
if(this.HP > this.maxHP) {
this.HP = this.maxHP;
}
}
}
1. VirtualPet を継承する VirtualBird クラスの定義をプログラムコードに追加
しなさい。なお、VirtualBird クラスには、次のインスタンスメソッドを追加し
なさい。
メソッド名:sing
引数:無し
戻り値:無し
処理の内容:
「ピーチクパーチク」と出力する。
メソッド名:fly
引数:無し
戻り値:無し
処理の内容:
体力が 5 以上であるならば、「空を飛ぶよ」と出力し、体力を 5 減らし、最大体力
を 5 増やす。
2. VirtualBird クラスでは、VirtualPet クラスの run メソッドをオーバーライ
ドし、実行すると「僕は鳥だから走れないよ。」と出力するようにしなさい。
3. main メソッドを持つクラス(クラス名は例えば Kadai8_1)を作成し、そのなか
で VirtualBird クラスのインスタンスを生成しなさい。生成したインスタンスに
対して、ひととおりのメソッドを実行し、適切に機能することを確認しなさい。