Metodat Private në Trashëgiminë në OOP në JavaScript
Metodat private nuk trashëgohen. Kjo është bërë qëllimisht, për të mos shkelur enkapsulimin. Le të shohim një shembull. Le të themi se kemi klasën e mëposhtme prind me një metodë private:
class User {
setName(name) {
this.name = name;
}
getName() {
return this.#capeFirst(this.name);
}
#capeFirst(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Le të themi se nga klasa prind trashëgon klasa e mëposhtme:
class Student extends User {
setSurn(surn) {
this.surn = surn;
}
getSurn() {
return this.surn;
}
}
Le të themi se pasardhsi dëshiron të përdorë metodën private të prindit. JavaScript nuk do ta lejojë këtë dhe do të japë një gabim:
class Student extends User {
setSurn(surn) {
this.surn = surn;
}
getSurn() {
return this.#capeFirst(this.surn); // do të jetë gabim
}
}
Provoni në klasën Employee
të përdorni metodën private
të prindit.