mirror of
https://github.com/guezoloic/racing-game.git
synced 2026-03-28 18:03:50 +00:00
60 lines
1.0 KiB
Java
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();
|
|
}
|
|
}
|