day11-类作为成员变量类型(hero,weapon,armor)

This commit is contained in:
2026-05-30 14:26:35 +08:00
parent 3956c0173d
commit 21914a5025
5 changed files with 152 additions and 2 deletions

View File

@@ -0,0 +1,28 @@
package com.inmind.class_member_var09;
//防御装类
public class Armor {
private String name;
private int protectNum;//防御值
public Armor(String name, int protectNum) {
this.name = name;
this.protectNum = protectNum;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getProtectNum() {
return protectNum;
}
public void setProtectNum(int protectNum) {
this.protectNum = protectNum;
}
}

View File

@@ -0,0 +1,28 @@
package com.inmind.class_member_var09;
/*
类作为成员变量类型(hero,weapon,armor)
案例:英雄角色,获取武器,获取防御装,闯关
*/
public class Demo07 {
public static void main(String[] args) {
//创建英雄角色对象
Hero hero = new Hero();
hero.setName("德玛西亚");
//打怪,掉落武器
Weapon weapon = new Weapon("屠龙刀", 999);
hero.setWeapon(weapon);
//打怪,掉落防具
Armor armor = new Armor("复活甲", 888);
hero.setArmor(armor);
//打boss
hero.attack();
//boss回击
hero.protect();
System.out.println("游戏结束");
}
}

View File

@@ -0,0 +1,67 @@
package com.inmind.class_member_var09;
import java.util.ArrayList;
public class Hero {
private String name;
private Weapon weapon;
private Armor armor;
//背包
private ArrayList<Weapon> weapons;
public Hero() {
}
public Hero(String name, Armor armor, Weapon weapon) {
this.name = name;
this.armor = armor;
this.weapon = weapon;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Weapon getWeapon() {
return weapon;
}
public void setWeapon(Weapon weapon) {
this.weapon = weapon;
System.out.println("英雄"+this.name+"装备了"+this.weapon.getName());
}
public Armor getArmor() {
return armor;
}
public void setArmor(Armor armor) {
this.armor = armor;
System.out.println("英雄"+this.name+"装备了"+this.armor.getName());
}
public ArrayList<Weapon> getWeapons() {
return weapons;
}
public void setWeapons(ArrayList<Weapon> weapons) {
this.weapons = weapons;
}
//行为
//攻击
public void attack(){
System.out.println(this.name+"使用了-"+this.weapon.getName()+"-武器,输出了"+this.weapon.getHurt()+"伤害");
}
//防御
public void protect(){
System.out.println(this.name+"穿戴了-"+this.armor.getName()+"-防具,抵消了"+this.armor.getProtectNum()+"伤害");
}
}

View File

@@ -0,0 +1,28 @@
package com.inmind.class_member_var09;
//武器类
public class Weapon {
private String name;
private int hurt;
public Weapon(String name, int hurt) {
this.name = name;
this.hurt = hurt;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getHurt() {
return hurt;
}
public void setHurt(int hurt) {
this.hurt = hurt;
}
}

View File

@@ -83,12 +83,11 @@ public class Demo06 {
} }
}.method(); }.method();
} }
public void method(){ public void method(){
} }
} }