army.java
来自「基础性的JAVA源代码」· Java 代码 · 共 77 行
JAVA
77 行
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 + =
减小字号Ctrl + -
显示快捷键?