/** * HybridCar = décorateur "voiture hybride". * * Idée : * - La voiture avance à chaque tour * - Mais elle consomme du carburant seulement 1 fois sur 2 * => donc elle économise du carburant. */ public class HybridCar extends CarDecorator { private boolean consumeThisTurn = false; // alterne vrai/faux public HybridCar(Car car) { super(car); } @Override public void run() { // 1) La voiture avance toujours car.move(); // 2) Un tour sur deux seulement : on consomme consumeThisTurn = !consumeThisTurn; if (consumeThisTurn) { car.consumeFuel(); } } }