(1)定義一個抽象類Weapon,該抽象類有兩個抽象方法attack(),move() 這兩個方法分別表示武器的攻擊方式和移動方式。 (2)定義3個類:Tank,Fl
阿新 • • 發佈:2021-02-03
程式碼
/*第一題: (1)定義一個抽象類Weapon,該抽象類有兩個抽象方法attack(),move() 這兩個方法分別表示武器的攻擊方式和移動方式。 (2)定義3個類:Tank,Flighter,WarShip都繼承自Weapon, 分別用不同的方式實現Weapon類中的抽象方法。 編寫測試程式main方法,建立多個不同武器的例項。並分別呼叫attack()和move()方法。 能用多型儘量使用多型。*/ public class Homework1 { public static void main(String[] args) { //建立物件 Weapon tank = new Tank(); Weapon fighter = new Fighter(); Weapon warship = new Warship(); //呼叫方法 tank.attack(); tank.move(); System.out.println("---------------------"); fighter.attack(); fighter.move(); System.out.println("---------------------"); warship.attack(); warship.move(); System.out.println("-----------------------"); } } abstract class Weapon{ //武器攻擊 public abstract void attack(); //武器移動 public abstract void move(); } //坦克類 class Tank extends Weapon{ @Override public void attack() { System.out.println("戰艦攻擊!"); } @Override public void move() { System.out.println("戰艦移動!"); } } //戰鬥機類 class Fighter extends Weapon{ @Override public void attack() { System.out.println("戰鬥機攻擊!"); } @Override public void move() { System.out.println("戰鬥機移動!"); } } //戰艦類 class Warship extends Weapon{ @Override public void attack() { System.out.println("戰艦攻擊!"); } @Override public void move() { System.out.println("戰艦移動!"); } }