Lanțuri de metode în OOP în JavaScript

Se poate face astfel încât metodele să poată fi apelate una după alta în lanț. Pentru aceasta, fiecare astfel de metodă trebuie să returneze this. Să încercăm. Adăugăm codul corespunzător în setterii clasei noastre:

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

Acum setterii noștri pot fi apelați unul după altul, în lanț. Să verificăm. Creăm un obiect al clasei noastre:

javascriptlet user = new User;

Să apelăm setterii noștri în lanț:

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

Să verificăm dacă valorile proprietăților s-au schimbat:

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

Faceți astfel încât setterii clasei Employee să poată fi apelați în lanț.