Files
racing-game/src/CarDecorator.java
2025-12-13 08:12:05 +01:00

60 lines
1.0 KiB
Java

/**
* Décorateur abstrait pour une voiture.
*
* Il encapsule une voiture existante et délègue
* toutes les actions à celle-ci.
*
* Pattern Decorator : on ajoute un comportement
* sans modifier la classe Car.
*/
public abstract class CarDecorator {
protected final Car car;
public CarDecorator(Car car) {
this.car = car;
}
// --- Délégation ---
public void run() {
car.run();
}
public int getFuel() {
return car.getFuel();
}
public int getRound() {
return car.getRound();
}
public int getScore() {
return car.getScore();
}
public int getPos() {
return car.getPos();
}
public Car.State getState() {
return car.getState();
}
public String accelerate() {
return car.accelerate();
}
public String decelerate() {
return car.decelerate();
}
public String getName() {
return car.getName();
}
public java.awt.Color getColor() {
return car.getColor();
}
}