仔细阅读下列类图,完成本道问题。
1,定义一个接口Assaultable(可攻击的),该接口有一个抽象方法attack()。
2,定义一个接口Mobile(可移动的),该接口有一个抽象方法move()。
3,定义一个抽象类Weapon,实现Assaultable接口和Mobile接口,但并没有给出具体的实现方法。
4,定义3个类:Tank,Flighter,WarShip都继承自Weapon,分别用不同的方式实现 Weapon 类中的抽象方法。(比如:Tank的attack()输出坦克攻击!!!,move()输出坦克移动!!!)
5,写一个类Army,代表一支军队,这个类有一个属性是Weapon数组w(用来存储该军队所拥有的所有武器);该类还提供一个构造方法,在构造方法里通过传一个int类型的参数来限定该类所能拥有的最大武器数量,并用这一大小来初始化数组w。该类还提供一个方法addWeapon(Weapon wa),表示把参数wa所代表的武器加入到数组w中,并且还应该有一个计数的成员变量。在这个类中还定义两个方法attackAll()和moveAll(),让w数组中的所有武器攻击和移动。
对应样例,先输出最多拥有武器数,而后每增加一个武器判断是否能入库,能入库就输出"武器库足够!已增加i个武器";不能入库就输出"警告:武器库已满!!!不能增加武器!!!"。
最后输出 所有武器移动,所有武器战斗。
每组数据之间用空行隔开。