Déportation des méthodes startCar, stopCar et changeSpeed vers la classe Car
This commit is contained in:
parent
20f99646df
commit
1f0e3fb296
5 changed files with 43 additions and 27 deletions
BIN
carApp/.DS_Store
vendored
BIN
carApp/.DS_Store
vendored
Binary file not shown.
BIN
carApp/src/.DS_Store
vendored
BIN
carApp/src/.DS_Store
vendored
Binary file not shown.
|
|
@ -4,15 +4,15 @@ public class Application {
|
|||
private static final int REDUCED_SPEED = 30;
|
||||
|
||||
public static void main(final String[] args) {
|
||||
Car maVoiture = new Car("Sedan", "Bleu");
|
||||
Driver moi = new Driver("John", AGE);
|
||||
Car myCar = new Car("Sedan", "Bleu");
|
||||
Driver me = new Driver("John", AGE);
|
||||
|
||||
moi.startCar(maVoiture);
|
||||
maVoiture.accelerate();
|
||||
moi.changeSpeed(maVoiture, INITIAL_SPEED);
|
||||
maVoiture.slowDown();
|
||||
moi.changeSpeed(maVoiture, REDUCED_SPEED);
|
||||
moi.stopCar(maVoiture);
|
||||
me.startCar(myCar);
|
||||
myCar.accelerate();
|
||||
me.changeSpeed(myCar, INITIAL_SPEED);
|
||||
myCar.slowDown();
|
||||
me.changeSpeed(myCar, REDUCED_SPEED);
|
||||
me.stopCar(myCar);
|
||||
System.out.println("fini");
|
||||
}
|
||||
}
|
||||
|
|
@ -38,4 +38,29 @@ public class Car {
|
|||
System.out.println("Couleur : " + couleur);
|
||||
System.out.println("Vitesse actuelle : " + vitesse);
|
||||
}
|
||||
|
||||
public void startCar(final Driver driver) {
|
||||
if (driver.isAdult()) {
|
||||
System.out.println(driver.getNom() + " démarre la voiture.");
|
||||
} else {
|
||||
System.out.println("Le conducteur n'est pas assez âgé pour conduire.");
|
||||
}
|
||||
}
|
||||
|
||||
public void stopCar(final Driver driver) {
|
||||
System.out.println(driver.getNom() + " arrête la voiture.");
|
||||
}
|
||||
|
||||
public void changeSpeed(final Driver driver, final int nouvelleVitesse) {
|
||||
System.out.println(driver.getNom() + " change la vitesse de la voiture à " + nouvelleVitesse);
|
||||
if (this.getSpeed() >= nouvelleVitesse) {
|
||||
while (this.getSpeed() > nouvelleVitesse) {
|
||||
this.slowDown();
|
||||
}
|
||||
} else {
|
||||
while (this.getSpeed() < nouvelleVitesse) {
|
||||
this.accelerate();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -12,28 +12,19 @@ public class Driver {
|
|||
return age >= ADULT_AGE;
|
||||
}
|
||||
|
||||
public void startCar(final Car voiture) {
|
||||
if (isAdult()) {
|
||||
System.out.println(nom + " démarre la voiture.");
|
||||
} else {
|
||||
System.out.println("Le conducteur n'est pas assez âgé pour conduire.");
|
||||
}
|
||||
public String getNom() {
|
||||
return this.nom;
|
||||
}
|
||||
|
||||
public void stopCar(final Car voiture) {
|
||||
System.out.println(nom + " arrête la voiture.");
|
||||
public void startCar(final Car car) {
|
||||
car.startCar(this);
|
||||
}
|
||||
|
||||
public void changeSpeed(final Car voiture, final int nouvelleVitesse) {
|
||||
System.out.println(nom + " change la vitesse de la voiture à " + nouvelleVitesse);
|
||||
if (voiture.getSpeed() >= nouvelleVitesse) {
|
||||
while (voiture.getSpeed() > nouvelleVitesse) {
|
||||
voiture.slowDown();
|
||||
}
|
||||
} else {
|
||||
while (voiture.getSpeed() < nouvelleVitesse) {
|
||||
voiture.accelerate();
|
||||
}
|
||||
}
|
||||
public void stopCar(final Car car) {
|
||||
car.stopCar(this);
|
||||
}
|
||||
|
||||
public void changeSpeed(final Car car, final int newSpeed) {
|
||||
car.changeSpeed(this, newSpeed);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue