每日一练编程题: 今天是【多态的使用】

每日一练【多态的使用】

  • 创建三个类,组成一个继承树,表示游戏中的角色。
    描述如下:
    • 父类:Role。是所有职业的父类。
    • 属性:name,表示角色的名字。
    • 方法:public int attack(),
      • 该方法返回值为角色的攻击对敌人的伤害。
  • Role 有两个子类:
    • 1) 法师Magicer
    • 属性:魔法等级(范围为1 ~ 10)
    • 方法: public int attack(),
      • 该方法返回法师的攻击对敌人造成的伤害值。
      • 法师攻击伤害值为:魔法等级*魔法基本伤害值(固定为5)
    • 2) 战士Soldier
    • 属性:攻击伤害值
    • 方法: public int attack(),
      • 该方法返回战士的攻击对敌人造成的伤害值。
      • 战士的攻击伤害值为:其攻击伤害属性值
  • 注意:上述的三个类所有属性都应当作为私有,并提供相应的get/set 方法。
    再设计一个Team 类,表示一个组队。具有如下方法
    • 1) addMember,表示组队增加一个成员。注意:组队成员最多为6 人
      提示:应当利用一个数组属性,保存所有成员
    • 2) attackSum,表示组队所有成员进行攻击时,对敌人造成的总伤害值

参考UML类图

在这里插入图片描述

参考代码

Role 类
package day528.pdf6.pdf6t17;
/**
* Description: 所有职业的父类
* date: 2024/5/30 23:01
* @author: LiCoffee 
* @since JDK 1.8
*/
public class Role {
   
    private String name;//名字
    public Role() {
   
    }
    public Role(String name) {
   
        this.name = name;
    }
    public String getName() {
   
        return name;
    }
    public void setName(String name) {
   
        this.name = name;
    }
    /**
     * @descriptions 计算角色的攻击对敌人的伤害
     * @author LiCoffee
     * @date 2024/5/30 23:03
     * @return -角色的攻击对敌人的伤害
     **/
    public int attack(){
   
        return 0;
    }
}
Magicer类
package day528.pdf6.pdf6t17;
/**
 * Description: 法师Magicer
 * date: 2024/5/30 23:06
 * @author: LiCoffee
 * @since JDK 1.8
 */
public class Magicer extends Role{
   
    private int level;//魔法等级(范围为1 ~ 10)
    private final int baseHurt = 5;//魔法基本伤害值(固定为5)
    public Magicer() 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值