練習問題2.13
変更許可するフィールド:speed,angle,owner
変更を許可すべきでないフィールド:VehicleID
public class Vehicle { private double speed; //速度 private double angle; //方向 private String owner; //所有 private long VehicleID; //車単位のID private static long NextVehicleID=0; //次の乗り物の識別番号 //コンストラクタ Vehicle(){ VehicleID = NextVehicleID; NextVehicleID++; } //コンストラクタ Vehicle(String owner){ this(); this.owner = owner; } public void print(){ System.out.println("ID : " + VehicleID); System.out.println("速度 : " + speed); System.out.println("方向 : " + angle); System.out.println("所有者 : " + owner); } public static long getMaxID(){ return NextVehicleID - 1; } public String toString(){ String vehicle = "ID : " + VehicleID + "\n" + "速度 : " + speed + "\n" + "方向 : " + angle + "\n" + "所有者 : " + owner + "\n"; return vehicle; } public double getSpeed(){ return speed; } public double angle(){ return angle; } public String owner(){ return owner; } public static void main(String args[]){ Vehicle car1 = new Vehicle("Taro"); car1.speed = 60.0; car1.angle = Math.PI * 1/6; System.out.println(car1); } }