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:
class 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:
class Student extends User {
}
Le të krijojmë një objekt të pasardhësit:
let student = new Student;
Le të përdorim metodën e prindit për të shkruar vetinë e tij private:
student.setName('john');
Le të përdorim metodën e prindit për të lexuar vetinë e tij private:
let name = student.getName();
console.log(name);
Jepet klasa e mëposhtme prind:
class 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.
Krijoni një objekt të klasës Employee
dhe thirrni setter dhe getter të trashëguar.
Në klasën Employee bëni
metodën e mëposhtme:
getFull() {
return this.#name + ' ' + this.#surn;
}
Sigurohuni që kodi i metodës do të çojë në një gabim.