2015年1月28日水曜日

開発環境

  • OS X Yosemite - Apple (OS)
  • Emacs (CUI)、BBEdit - Bare Bones Software, Inc. (GUI) (Text Editor)
  • Java (プログラミング言語)
  • javac (コンパイラ)
  • java (application launcher)

Head First Object-Oriented Analysis and Design: A Brain Friendly Guide to OOA&D (Brett McLaughlin (著)、 Gary Pollice (著)、 David West (著) 、 O'Reilly Media)のChapter 7. Architecture: Bringing Order to Chaos、DESIGN PUZZLE(No. 4523)を解いてみる。

その他参考書籍

DESIGN PUZZLE(No. 4523)

コード(BBEdit, Emacs)

Unit.java

public class Unit {
    private Weapon weapon;
    
    public Unit(Weapon weapon){
        this.weapon = weapon;
    }
}

Tank.java

public class Tank extends Unit{
    private int attack;
    private int experience;
    private double defense;

    public Tank(Weapon weapon, int attack, int experience, double defense){
        super(weapon);
        this.attack = attack;
        this.experience = experience;
        this.defense = defense;
    }
}

Soldier.java

public class Soldier extends Unit {
    private String name;

    public Soldier(Weapon weapon, String name){
        super(weapon);
        this.name = name;
    }
}

Airplane.java

public class Airplane extends Unit{
    private int speed;
    private String model;

    public Airplane(Weapon gun, int speed, String model){
        super(gun);
        this.speed = speed;
        this.model = model;
    }
}

Weapon.java

public enum Weapon{
    Bazooka,
    Gatling
}

入出力結果(Terminal)

$ javac Unit.java Tank.java Soldier.java Airplane.java
$

0 コメント:

コメントを投稿