Get ve set
- TypeScript kursu
- Orta seviye
- Ders 64/89
- 4 dk
Getter ve setter metodlarını öğrenirsin.
Getter ve setter nedir?
get ve set anahtar kelimeleri, bir özelliğe erişim (accessor) tanımlar. Getter özelliği okurken, setter özelliğe değer atarken çalışır. Bu sayede özelliğin arkasında özel bir alan tutup, erişimi denetleyebilirsin. Getter parametre almaz, setter tek parametre alır.
class Hesap {
private _bakiye = 0;
get bakiye() { return this._bakiye; }
set bakiye(v: number) { this._bakiye = v; }
}Getter ile doğrulama
Setter içine koşul koyarak özelliğe atanan değeri denetleyebilirsin. Geçersiz değer atanırsa hata fırlatılır veya değer yok sayılır. Bu şekilde sınıfın iç tutarlılığı korunur. Getter ise genellikle doğrudan özel alanı döndürür.
class Kullanici {
private _yas = 0;
get yas() { return this._yas; }
set yas(v: number) {
if (v < 0) throw new Error("negatif yas");
this._yas = v;
}
}Uygulama Sicaklik getter ve setter
Sicaklik sınıfı tanımla; özel alan _derece 0 olsun. get derece _derece'yi döndürsün. set derece(v: number) negatifse _derece'yi 0 yapsın, değilse v atansın. const s = new Sicaklik(); s.derece = -5; console.log(s.derece); satırlarını ekle.
Başlangıç kodu
// Sicaklik sinifi tanimla
// private _derece = 0 olsun
// derece icin get ve set erisimcileri yaz
// negatif deger atandiginda 0 yap
// const s = new Sicaklik(); s.derece = -5; console.log(s.derece);Örnek çözüm
class Sicaklik {
private _derece = 0;
get derece() { return this._derece; }
set derece(v: number) { this._derece = v < 0 ? 0 : v; }
}
const s = new Sicaklik();
s.derece = -5;
console.log(s.derece);Beklenen çıktı
0
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir setter metodu kaç parametre alır?
- İki parametre
- Parametre almaz
- İstenen sayıda parametre
- Tam olarak bir parametre Doğru cevap
Açıklama: Setter, özelliğe atanacak değeri almak için tam olarak bir parametre alır; getter ise parametre almaz.
2 Getter anahtar kelimesi
class Kutu {
private _icerik = 0;
____ icerik() { return this._icerik; }
}
class Kutu {
private _icerik = 0;
get icerik() { return this._icerik; }
}
Açıklama: Bir özelliğin değerini okurken çalışan erişim metodu `get` anahtar kelimesi ile tanımlanır.
3 Accessor parçaları
| Kavram | Anlamı |
|---|---|
get |
Değeri okur |
set |
Değeri yazar |
özel alan |
Arka planda tutulan değer |
doğrulama |
Setter içinde koşul |