Implementacja wzorca projektowego Dekorator w Javascript

Implementacja wzorca projektowego Dekorator w Javascript

Dekorator to strukturalny wzorzec projektowy, który umożliwia rozszerzenie lub zmianę zachowań do istniejących klas dynamicznie podczas działania programu.

Poniżej przykład użycia dekoratora do rozszerzenia funkcjonalności w klasie Tesla:

class Car {
  constructor(kind) {
    this.kind = kind || "Generic";
  }
  
  getInfo() {
    return `I'm a ${this.kind} Car`;
  }
}

class Tesla extends Car {
  constructor() {
    super("Tesla");
  }
  
  setBatteryStatus(status) {
    this.batteryStatus = status;
  }
  
  getInfo() {
    return `${super.getInfo()} with the battery status: ${this.batteryStatus}`;
  }
}

class Toyota extends Car {
  constructor() {
    super("Toyota");
  }
  
  getInfo() {
    return super.getInfo();
  }
}

export { Tesla, Toyota };

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *