Vetitë private në trashëgiminë në OOP në JavaScript

Vetitë private nuk trashëgohen. Por pasardhësi mund t'i manipullojë ato përmes metodave publike të prindit. Le të shohim në praktikë. Le të themi se kemi klasën e mëposhtme prind me një veti private dhe getter dhe setter të saj:

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

Le të themi se nga prindi trashëgon pasardhësi i mëposhtëm:

javascriptclass Student extends User {
  
}

Le të krijojmë një objekt të pasardhësit:

javascriptlet student = new Student;

Le të përdorim metodën e prindit për të shkruar vetinë e tij private:

javascriptstudent.setName('john');

Le të përdorim metodën e prindit për të lexuar vetinë e tij private:

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

Jepet klasa e mëposhtme prind:

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

Bëni klasën Employee, që do të trashëgojë nga ky prind.

Задание 2

Krijoni një objekt të klasës Employee dhe thirrni setter dhe getter të trashëguar.

Задание 3

Në klasën Employee bëni metodën e mëposhtme:

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

Sigurohuni që kodi i metodës do të çojë në një gabim.