模拟一个军队作战,军队里面有各种兵,骑兵,步兵。每种兵的攻击敌人方式不一样。建立各种各样的兵。每种3个,至少3种,
然后建立一个军官,军官也会上场去攻击敌人,但是军官还有一种行为,就是发号,军官发号了,所有的兵,无论什么兵都去战场攻击敌人。
最后程序运行效果就是一个军官开始发号,然后所有的士兵包括军官都去打仗,显示每个人攻击敌人的方式
package 集合_HomeWork;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Text{
public static void main(String[] args) {
DaZhang daZhang=new DaZhang();
Leader juGuan=new Leader("军官");
Bing b1=new QiBing("骑兵");
Bing b2=new QiBing("骑兵");
Bing b3=new QiBing("骑兵");
Bing b4=new BuBing("步兵");
Bing b5=new BuBing("步兵");
Bing b6=new BuBing("步兵");
Bing b7=new KongBing("空军");
Bing b8=new KongBing("空军");
Bing b9=new KongBing("空军");
Bing b10=new KongBing("空军");
juGuan.SendSignal();//军官指挥
System.out.println();
System.out.println("先给我炮火覆盖!!!");
System.out.println();
System.out.println("二营长,你意大利炮呢,给我拉上来!!!");
System.out.println("航空导弹营给我打他的一线防御阵地!!!");
System.out.println();
System.out.println("骑兵连,向敌人进攻,冲啊!");
daZhang.addSiBing(b7);
daZhang.addSiBing(b8);
daZhang.addSiBing(b9);
daZhang.addSiBing(b10);
daZhang.addSiBing(b4);
daZhang.addSiBing(b5);
daZhang.addSiBing(b6);
daZhang.addSiBing(b1);
daZhang.addSiBing(b2);
daZhang.addSiBing(b3);
daZhang.display();
}
}
//所有兵的总合类型
abstract class Bing{
private String Type;
public String getType() {
return Type;
}
public Bing(String type) {
this.Type = type;
}
public abstract void atract();
}
//骑兵
class QiBing extends Bing{
public QiBing(String Type) {
super(Type);
}
public void atract() {
System.out.println(this.getType()+"骑马拿刀砍人");
}
}
//步兵
class BuBing extends Bing{
public BuBing(String Type) {
super(Type);
}
public void atract() {
System.out.println(this.getType()+"拿枪打");
}
}
//空兵
class KongBing extends Bing{
public KongBing(String Type) {
super(Type);
}
public void atract() {
System.out.println(this.getType()+"开飞机扔炸弹");
}
}
//信号
interface Signal{
//发信号
public void SendSignal();
}
//领导人
class Leader extends Bing implements Signal{
public Leader(String Type) {
super(Type);
}
public void SendSignal() {
System.out.println("军官开始发进攻信号了");
System.out.println("兄弟们,我来了,"+this.getType()+"在杀敌");
}
public void atract() {
}
}
class DaZhang{
ArrayList<Bing> list=new ArrayList<Bing>();
public void addSiBing(Bing bing){
list.add(bing);
}
public void display(){
Iterator<Bing> iterator=list.iterator();
while(iterator.hasNext()){
iterator.next().atract(); }
}
}