JavaScript OOP'de Kalıtımda Private Özellikler
Private özellikler kalıtımla aktarılmaz. Ancak alt sınıf, üst sınıfın public metodları aracılığıyla onları manipüle edebilir. Pratikte nasıl olduğuna bakalım. Private bir özelliğe, onun getter'ına ve setter'ına sahip olan şu üst sınıfımız olduğunu varsayalım:
class User {
#name;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
Üst sınıftan şu alt sınıfın türediğini varsayalım:
class Student extends User {
}
Alt sınıfın bir nesnesini oluşturalım:
let student = new Student;
Üst sınıfın private özelliğini yazmak için onun metodunu kullanalım:
student.setName('john');
Üst sınıfın private özelliğini okumak için onun metodunu kullanalım:
let name = student.getName();
console.log(name);
Şu üst sınıf verilmiştir:
class User {
#name;
#surn;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
setSurn(surn) {
this.#surn = surn;
}
getSurn() {
return this.#surn;
}
}
Bu üst sınıftan kalıtım alan
Employee sınıfını yapın.
Employee sınıfının bir nesnesini oluşturun
ve kalıtımla alınan setter ve getter'ları çağırın.
Employee sınıfında şu metodu yapın:
getFull() {
return this.#name + ' ' + this.#surn;
}
Metodun kodunun bir hata vereceğinden emin olun.