Privát tulajdonságok öröklődéskor az OOP-ben JavaScriptben

A privát tulajdonságok nem öröklődnek. De az utód manipulálhatja azokat a szülő nyilvános metódusain keresztül. Nézzük meg a gyakorlatban. Tegyük fel, hogy a következő szülő osztályunk van privát tulajdonsággal és annak getterével és setterével:

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

Tegyük fel, hogy a szülőtől örököl a következő utód:

javascriptclass Student extends User {
  
}

Hozzunk létre egy utód objektumot:

javascriptlet student = new Student;

Használjuk a szülő metódusát, hogy beállítsuk annak privát tulajdonságát:

javascriptstudent.setName('john');

Használjuk a szülő metódusát, hogy kiolvassuk annak privát tulajdonságát:

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

Adott a következő szülő osztály:

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

Készítsen egy Employee osztályt, amely örököl ettől a szülőtől.

Задание 2

Hozzon létre egy objektumot a Employee osztályból és hívja meg az örökölt settereket és gettereket.

Задание 3

A Employee osztályban készítse el a következő metódust:

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

Győződjön meg róla, hogy a metódus kódja hibához vezet.