Car
class it's
important to make sure that the speed is always less than or equal to the maximum speed and that both speed and maximum speed
are greater than or equal to zero.
You've already seen one example of this in the accelerate()
method
which will not accelerate a car past its maximum speed.
void accelerate(double deltaV) {
this.speed = this.speed + deltaV;
if (this.speed > this.maxSpeed) {
this.speed = this.maxSpeed;
}
if (this.speed < 0.0) {
this.speed = 0.0;
}
}
You can also insert constraints like that in the constructor.
For example, this Car
constructor makes sure that
the maximum speed is greater than or equal to zero:
Car(String licensePlate, double maxSpeed) {
this.licensePlate = licensePlate;
this.speed = 0.0;
if (maxSpeed >= 0.0) {
this.maxSpeed = maxSpeed;
}
else {
maxSpeed = 0.0;
}
}