mirror of
https://github.com/guezoloic/L3-racing-game.git
synced 2026-03-28 19:13:41 +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