Déportation des méthodes startCar, stopCar et changeSpeed vers la classe Car

This commit is contained in:
Feror 2025-01-23 11:31:20 +01:00
parent 20f99646df
commit 1f0e3fb296
5 changed files with 43 additions and 27 deletions

BIN
carApp/.DS_Store vendored

Binary file not shown.

BIN
carApp/src/.DS_Store vendored

Binary file not shown.

View file

@ -4,15 +4,15 @@ public class Application {
private static final int REDUCED_SPEED = 30; private static final int REDUCED_SPEED = 30;
public static void main(final String[] args) { public static void main(final String[] args) {
Car maVoiture = new Car("Sedan", "Bleu"); Car myCar = new Car("Sedan", "Bleu");
Driver moi = new Driver("John", AGE); Driver me = new Driver("John", AGE);
moi.startCar(maVoiture); me.startCar(myCar);
maVoiture.accelerate(); myCar.accelerate();
moi.changeSpeed(maVoiture, INITIAL_SPEED); me.changeSpeed(myCar, INITIAL_SPEED);
maVoiture.slowDown(); myCar.slowDown();
moi.changeSpeed(maVoiture, REDUCED_SPEED); me.changeSpeed(myCar, REDUCED_SPEED);
moi.stopCar(maVoiture); me.stopCar(myCar);
System.out.println("fini"); System.out.println("fini");
} }
} }

View file

@ -38,4 +38,29 @@ public class Car {
System.out.println("Couleur : " + couleur); System.out.println("Couleur : " + couleur);
System.out.println("Vitesse actuelle : " + vitesse); 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();
}
}
}
} }

View file

@ -12,28 +12,19 @@ public class Driver {
return age >= ADULT_AGE; return age >= ADULT_AGE;
} }
public void startCar(final Car voiture) { public String getNom() {
if (isAdult()) { return this.nom;
System.out.println(nom + " démarre la voiture.");
} else {
System.out.println("Le conducteur n'est pas assez âgé pour conduire.");
}
} }
public void stopCar(final Car voiture) { public void startCar(final Car car) {
System.out.println(nom + " arrête la voiture."); car.startCar(this);
} }
public void changeSpeed(final Car voiture, final int nouvelleVitesse) { public void stopCar(final Car car) {
System.out.println(nom + " change la vitesse de la voiture à " + nouvelleVitesse); car.stopCar(this);
if (voiture.getSpeed() >= nouvelleVitesse) {
while (voiture.getSpeed() > nouvelleVitesse) {
voiture.slowDown();
}
} else {
while (voiture.getSpeed() < nouvelleVitesse) {
voiture.accelerate();
}
} }
public void changeSpeed(final Car car, final int newSpeed) {
car.changeSpeed(this, newSpeed);
} }
} }