OOP-də JavaScript-də İrsiyyətdə Private metodlar
Private metodlar irs olunmur. Bu, inkapsulyasiyanı pozmamaq üçün xüsusi olaraq edilib. Gəlin bir nümunəyə baxaq. Fərz edək ki, aşağıdakı valideyn sinfimiz private metodla mövcuddur:
class User {
setName(name) {
this.name = name;
}
getName() {
return this.#capeFirst(this.name);
}
#capeFirst(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Fərz edək ki, valideyn sinfindən aşağıdakı sinif miras alır:
class Student extends User {
setSurn(surn) {
this.surn = surn;
}
getSurn() {
return this.surn;
}
}
Fərz edək ki, varis valideynin private metodundan istifadə etmək istəyir. JavaScript buna icazə verməyəcək və xəta verəcək:
class Student extends User {
setSurn(surn) {
this.surn = surn;
}
getSurn() {
return this.#capeFirst(this.surn); // xəta olacaq
}
}
Employee sinfində valideynin private metodundan
istifadə etməyə çalışın.