java在上两英雄类型的基础上,为英雄添加一个基本战斗的方法, 该方法拥有一个英雄类型的参数,当传入另一个英雄时,能降低对方100 点血。 再增加一个绝招的重载方法,加入一个战斗类型参数,通过输入不同绝招参数,降低对方不同的血量
时间: 2024-05-28 21:09:07 浏览: 104
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);
}
}
这样,我们就可以通过不同的绝招来降低对方的不同血量了。
阅读全文