Хосияти хусусиӣ дар мероси дар ООП дар JavaScript

Хосиятҳои хусусӣ мерос бурда намешаванд. Аммо фарзанд метавонад тавассути усулҳои оммавии волидайн ба онҳо таъсир расонад. Биёед амалан бубинем. Бигзор мо дорои синфи волидайни зерин бо хосияти хусусӣ ва геттери ва сеттери он бошем:

javascriptclass User {
  #name;
  
  setName(name) {
    this.#name = name;
  }
  getName() {
    return this.#name;
  }
}

Бигзор фарзанди зерин аз волидайн мерос бибарад:

javascriptclass Student extends User {
  
}

Объекти фарзандро эҷод мекунем:

javascriptlet student = new Student;

Аз усули волидайн истифода барем, то хосияти хусусии онро сабт кунем:

javascriptstudent.setName('john');

Аз усули волидайн истифода барем, то хосияти хусусии онро хонем:

javascriptlet name = student.getName();
console.log(name);
Задание 1

Синфи волидайни зерин дода шудааст:

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

Синфи Employee-ро созед, ки аз ин волидайн мерос мебарад.

Задание 2

Объекти синфи Employee-ро эҷод кунед ва сеттерҳо ва геттерҳои меросбурдаро даъват кунед.

Задание 3

Дар синфи Employee усули зеринро созед:

javascriptgetFull() {
  return this.#name + ' ' + this.#surn;
}

Боварӣ ҳосил кунед, ки рамзи усул ба хато меорад.