java在上一题的基础上,为英雄再定义拥有一个参数的构造方法,传入一个英雄类型的值,如果为1,则为普通英雄,生命值为100,如果该值为2,则为高级英雄,生命值初始化为200。
时间: 2024-06-03 11:09:07 浏览: 46
好的,根据您的要求,我可以回答这个问题。以下是java代码实现:
public class Hero {
private int hp;
public Hero() {
this.hp = 0;
}
public Hero(int heroType) {
if (heroType == 1) {
this.hp = 100;
} else if (heroType == 2) {
this.hp = 200;
}
}
}
希望能够帮到您!现在请问您有什么其他问题吗?
相关问题
java在上两英雄类型的基础上,为英雄添加一个基本战斗的方法, 该方法拥有一个英雄类型的参数,当传入另一个英雄时,能降低对方100 点血。 再增加一个绝招的重载方法,加入一个战斗类型参数,通过输入不同绝招参数,降低对方不同的血量
Java可以通过继承和多态来实现这个功能。首先,我们可以定义一个Hero类,让其他英雄类型都继承它,然后添加一个基本战斗方法:
public class Hero {
private int health;
public Hero(int health) {
this.health = health;
}
public void fight(Hero enemy) {
enemy.reduceHealth(100);
}
public void reduceHealth(int damage) {
this.health -= damage;
}
}
然后,我们可以定义两个英雄类型,比如说Warrior和Mage,让它们都继承Hero类,并在它们的构造方法中初始化血量:
public class Warrior extends Hero {
public Warrior() {
super(1000);
}
}
public class Mage extends Hero {
public Mage() {
super(800);
}
}
现在,我们可以创建两个英雄对象,然后让它们互相攻击:
Warrior warrior = new Warrior();
Mage mage = new Mage();
warrior.fight(mage); // mage的血量减少100
mage.fight(warrior); // warrior的血量减少100
最后,我们可以重载基本战斗方法,加入一个战斗类型参数,通过输入不同绝招参数,降低对方不同的血量:
public void fight(Hero enemy, String skill) {
if (skill.equals("skill1")) {
enemy.reduceHealth(200);
} else if (skill.equals("skill2")) {
enemy.reduceHealth(300);
} else {
enemy.reduceHealth(100);
}
}
这样,我们就可以通过不同的绝招来降低对方的不同血量了。
阅读全文