mirror of
https://github.com/guezoloic/racing-game.git
synced 2026-03-28 18:03:50 +00:00
implémentation du pattern Decorator pour Car
This commit is contained in:
59
src/CarDecorator.java
Normal file
59
src/CarDecorator.java
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
/**
|
||||||
|
* 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();
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user