JavaScript'te OOP'de Özel Özellikler
Nesnenin, dışarıdan okunabilen ve yazılabilen özelliklerine genel denir. Ayrıca, yalnızca sınıfın içinde erişilebilen özel özellikler de vardır.
Özel özellik isimleri
# sembolü ile başlamalıdır.
Ayrıca, bu tür özellikler mutlaka
sınıf kodunun başında tanımlanmalıdır.
Hadi bunu yapalım:
class User {
#name;
}
Şimdi verileri özelliğimize yazalım. Bu, örneğin sınıfın yapıcısında yapılabilir:
class User {
#name;
constructor(name) {
this.#name = name;
}
}
Şimdi özelliğimizin değerini döndürecek bir metod yapalım:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
}
Sınıfın bir nesnesini oluşturalım, isimi parametre olarak ileterek:
let user = new User('john');
Sınıfın dışında doğrudan özelliğimize erişme girişimi hataya yol açacaktır:
console.log(user.#name); // hata
Metodumuzun çağrılması ise bu özelliği okumamızı sağlayacaktır:
console.log(user.show()); // 'john' yazacak
Employee sınıfında
üç özel özellik yapın: isim, maaş
ve yaş.
Bu özelliklerin değerlerini yapıcıya parametre olarak iletin.
Çalışanın verilerini gösterecek bir metod yapın.