TypeScript'te private Değiştiricisi
private değiştiricisi, bir sınıfın özelliklerine ve metotlarına dışarıdan erişimi kapatmak gerektiği durumlarda kullanılır. Bu durumda, alt sınıflarda bile bu özelliklere erişmek mümkün olmayacaktır.
Bir örnek üzerinde inceleyelim. User sınıfında özel bir name özelliği oluşturalım:
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
}
Sınıfın bir nesnesini oluşturalım ve yapıcı metod aracılığıyla özelliğimizin değerini aktaralım:
let user: User = new User('john');
Şimdi, bu özel özelliği sınıf dışında okumaya çalışmak bir hataya yol açacaktır:
console.log(user.name); // hata
Ayrıca, sınıf dışından bu özelliğe bir şey yazmaya çalışmak da bir hataya neden olacaktır:
user.name = 'eric'; // hata
Ancak, sınıfın metotları içinde özel özelliğimizin değerini hem okuyabilir hem de değiştirebiliriz:
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
public getName() {
return this.name; // özelliği okuyacağız
}
public setName(name: string) {
this.name = name; // özelliğe yeni değer yazacağız
}
}
İsim ve yaş için özel özellikler içeren bir User sınıfı yapın. Başlangıç değerlerinin yapıcı metot aracılığıyla atanmasını sağlayın.
User sınıfınızda, ilgili özel özelliklerin değerlerini almayı sağlayan genel getName ve getAge metotlarını yapın.
User sınıfınızda, ilgili özel özelliklerin değerlerini değiştirmeyi sağlayan genel setName ve setAge metotlarını yapın.