📄 army.java
字号:
package exec.day0927;
public class Army {
private Weapon w[];
private int count;//当前武器数量
public Army(int n){
w = new Weapon[n];
}
/**
* 添加武器
* @param wa
*/
public void addWeapon(Weapon wa){
if(w.length==count){
throw new RuntimeException("武器数量已饱和,不能添加!");
}
w[count++] = wa;
}
public void attackAll(){
for(int i=0;i<count;i++){
w[i].attack();
}
}
public void moveAll(){
for(int i=0;i<count;i++){
if(w[i] instanceof Mobile){
Mobile m = (Mobile)w[i];
m.move();
}
}
}
}
interface Assaultable{
void attack();
}
interface Mobile{
void move();
}
abstract class Weapon implements Assaultable{
}
//Tank,Flighter,MissileTurret
class Tank extends Weapon implements Mobile{
public void attack(){
//...
}
public void move(){
//...
}
}
class Flighter extends Weapon implements Mobile{
public void attack(){
//...
}
public void move(){
//...
}
}
class MissileTurret extends Weapon{
public void attack(){
//...
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -