Catene di metodi in OOP in JavaScript

È possibile fare in modo che i metodi possano essere chiamati uno dopo l'altro in una catena. Per fare ciò, ogni tale metodo deve restituire this. Proviamo. Aggiungiamo il codice corrispondente ai setter della nostra classe:

javascriptclass User {
  #name;
  #surn;

  setName(name) {
    this.#name = name;
    return this;
  }
  setSurn(surn) {
    this.#surn = surn;
    return this;
  }
  
  getName() {
    return this.#name;
  }
  getSurn() {
    return this.#surn;
  }
}

Ora i nostri setter possono essere chiamati uno dopo l'altro, in catena. Verifichiamolo. Creiamo un oggetto della nostra classe:

javascriptlet user = new User;

Chiamiamo i nostri setter in catena:

javascriptuser.setName('john').setSurn('smit');

Verifichiamo che i valori delle proprietà siano cambiati:

javascriptconsole.log(user.getName());
console.log(user.getSurn());
Задание 1

Fate in modo che i setter della classe Employee possano essere chiamati in catena.