目录 class作为成员变量 角色类 武器类 铠甲类 角色增强类 测试类 实际的开发中,引用类型的使用非常重要,也是非常普遍的。我们可以在理解基本类型的使用方式基础上,进一步去掌
目录
- class作为成员变量
- 角色类
- 武器类
- 铠甲类
- 角色增强类
- 测试类
实际的开发中,引用类型的使用非常重要,也是非常普遍的。我们可以在理解基本类型的使用方式基础上,进一步去掌握引用类型的使用方式。基本类型可以作为成员变量、作为方法的参数、作为方法的返回值,那么当然引用类型也是可以的。
class作为成员变量
角色类
在定义一个类Role(游戏角色)时,代码如下:
class Role { int id; // 角色id int blood; // 生命值 String name; // 角色名称 }
使用int 类型表示 角色id和生命值,使用String 类型表示姓名。此时, String 本身就是引用类型,由于使用的方式类似常量,所以往往忽略了它是引用类型的存在。如果我们继续丰富这个类的定义,给Role 增加武器,穿戴装备等属性,我们将如何编写呢?
武器类
提高进攻能力,定义攻击武器类,将增加攻击能力:
class Weapon { String name; // 武器名称 int hurt; // 伤害值 }
铠甲类
提高防守能力定义穿戴盔甲类,将增加防御能力,也就是提升生命值:
class Armour { String name;// 装备名称 int protect;// 防御值 }
角色增强类
给角色类增加进攻和防守属性,角色类调整成如下:
class Role { int id; int blood; String name; // 添加武器属性 Weapon wp; // 添加盔甲属性 Armour ar; // 提供get/set方法 public Weapon getWp() { return wp; } public void setWeapon(Weapon wp) { this.wp = wp; } public Armour getArmour() { return ar; } public void setArmour(Armour ar) { this.ar = ar; } // 攻击方法 public void attack(){ System.out.println("使用"+ wp.getName() +", 造成"+wp.getHurt()+"点伤害"); } // 穿戴盔甲 public void wear(){ // 增加防御,就是增加blood值 this.blood += ar.getProtect(); System.out.println("穿上"+ar.getName()+", 生命值增加"+ar.getProtect()); } }
测试类
public class Test { public static void main(String[] args) { // 创建Weapon 对象 Weapon wp = new Weapon("倚天剑