Řetězení metod v OOP v JavaScriptu

Lze zařídit, aby metody bylo možné volat jednu za druhou v řetězci. K tomu musí každá taková metoda vracet this. Zkusme to. Přidejme odpovídající kód do setterů naší třídy:

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;
  }
}

Nyní lze naše settery volat jeden za druhým, v řetězci. Pojďme to vyzkoušet. Vytvořme objekt naší třídy:

javascriptlet user = new User;

Zavolejme naše settery v řetězci:

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

Zkontrolujme, že se hodnoty vlastností změnily:

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

Zařiďte, aby settery třídy Employee bylo možné volat řetězcem.