package work;
//父类
public abstract class Role {
private String name;
static int i=1;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public abstract int attack();
}
package work;
//法师类
import java.util.Scanner;
public class Magicer extends Role{
Scanner sc=new Scanner(System.in);
private int level;
public int getLevel() {
return level;
}
public void setLevel(int level) {//set限制
if(level>10)
{
System.out.println("职业等级超出上限!请重新输入10");
this.setLevel(sc.nextInt());
}
this.level = level;
}
public Magicer(int level)
{
if(level>10)
{
System.out.println("职业等级超出上限!请重新输入10");
this.setLevel(sc.nextInt());
}
else
this.level=level;
super.setName("法师");
System.out.println("我是成员"+i+"职业为"+super.getName()+",职业等级为"+this.getLevel());
i++;
}
public int attack() {
return this.getLevel()*5;
}
}
package work;
//战士类
public class Soldier extends Role{
private int hurt;
public int getHurt() {
return hurt;
}
public void setHurt(int hurt) {
this.hurt = hurt;
}
public Soldier(int hurt)
{
this.hurt=hurt;super.setName("战士");
System.out.println("我是成员"+i+"职业为"+super.getName()+",攻击等级为"+this.getHurt());
i++;
}
public int attack() {
return this.getHurt();
}
}
package work;
//队伍类
public class Team {
Role[] r=new Role[6];
private int t=0;
public void addMember(Role rs)
{
try
{
this.r[t]=rs;
t++;
}
catch(Exception ex)
{
System.out.println("队伍已满,人数上限为6,成员"+(t+1)+"无法进入队伍");
}
}
public int attackSum()
{
int attarcks=0;
for (Role role : r) {
attarcks+=role.attack();
}
return attarcks;
}
}
package work;
//测试类
public class Text {
public static void main(String[] args) {
Team t=new Team();
t.addMember(new Magicer(25));
t.addMember(new Soldier(35));
t.addMember(new Soldier(35));
t.addMember(new Soldier(35));
t.addMember(new Soldier(35));
t.addMember(new Soldier(35));
t.addMember(new Soldier(34));
System.out.println(t.attackSum());
}
}