Saab95.java

/**
 *  Utfärdat av Durim Miziraj
 *  Kontakt: gusmizdu@student.gu.se
 */

package lab2;
import static java.awt.Color.RED;

public final class Saab95 extends Vehicle implements Car, TurboChargable{

	private boolean turboOn;

	public Saab95() {
		super(
      /* Number of doors */ 2,
      /* Engine power    */ 125.0d,
      /* Vehicle Color   */ RED,
      /* Vehicle model   */ "Saab95",
      /* X position      */ 0.0d,
      /* Y position      */ 0.0d
    );

    turboOn = false;
	}

	public void setTurbo(boolean state) { turboOn = state; }

	private double speedFactor() {
		return getEnginePower() * 0.01d * (turboOn ? 1.3d : 1.0d);
	}

  @Override
	protected double increaseSpeedFactor(double speedIncrease) {
    return getCurrentSpeed() + speedFactor() * speedIncrease;
	}

	@Override
	protected double decreaseSpeedFactor(double speedDecrease) {
    return getCurrentSpeed() - speedFactor() * speedDecrease;
	}

  @Override
  protected String subToString() {
    return ", \n\tturboOn = " + turboOn;
  }
}