设计一个Character基类,包含角色的基本属性(如姓名、生命值和攻击力)和attack()方法的声明。创建几个子类,如Warrior(战士)、Mage(法师)和Rogue(盗贼),为它们添加特定的技能,并在attack()方法中实现这些技能的效果。
时间: 2024-10-06 19:03:28 浏览: 2
设计一个名为`Character`的基类,可以如下所示:
```java
public class Character {
private String name;
private int health;
private int attackPower;
// 构造函数
public Character(String name, int health, int attackPower) {
this.name = name;
this.health = health;
this.attackPower = attackPower;
}
// 定义攻击方法(声明)
public abstract void attack();
// 获取名字、生命值和攻击力的方法
public String getName() { return name; }
public int getHealth() { return health; }
public int getAttackPower() { return attackPower; }
// 损害生命值的基础攻击
public void basicAttack() {
System.out.println(name + "进行了基础攻击,造成" + attackPower + "点伤害");
}
}
```
然后,我们可以创建三个子类来扩展`Character`:
1. `Warrior` (战士)
```java
public class Warrior extends Character {
public Warrior(String name, int health, int attackPower) {
super(name, health, attackPower);
}
@Override
public void attack() {
basicAttack();
System.out.println(name + "使用了近战技能,额外造成20%的伤害");
}
}
```
2. `Mage` (法师)
```java
public class Mage extends Character {
public Mage(String name, int health, int attackPower) {
super(name, health, attackPower);
}
@Override
public void attack() {
basicAttack();
System.out.println(name + "施放了一个火球术,额外造成40%的火焰伤害");
}
}
```
3. `Rogue` (盗贼)
```java
public class Rogue extends Character {
public Rogue(String name, int health, int attackPower) {
super(name, health, attackPower);
}
@Override
public void attack() {
basicAttack();
System.out.println(name + "悄悄刺出一刀,附加50%的概率偷取目标一半的生命值");
}
}
```