Özet - İleri sınıflar
- TypeScript kursu
- Orta seviye
- Ders 65/89
- 4 dk
abstract sınıf ve interface ile bir şekil hiyerarşisi yazarsın.
Özet - İleri sınıflar
Bu grupta abstract sınıfları, implements ile interface uygulama ve getter/setter erişimcilerini öğrendin. abstract class temel sınıf oluşturur; implements bir interface'in sözleşmesini sınıfa uygular; get ve set ise özelliklere denetimli erişim sağlar.
abstract class Sekil {
abstract alan(): number;
}
class Kare extends Sekil implements Cizilebilir {
get ad() { return "kare"; }
alan() { return 4 * 4; }
ciz() {}
}Uygulama Sekil hiyerarşisi yaz
abstract class Sekil tanımla; içinde abstract alan(): number bildir. interface Cizilebilir tanımla; içinde ciz(): void bildir. Kare sınıfı Sekil'i genişletsin, Cizilebilir'i uygulansın, kenar parametresi alsın, alan kenar * kenar dönsün, ciz "kare çizildi" yazsın. Son satırda new Kare(3).alan() sonucunu yazdır.
Başlangıç kodu
// Sekil adinda abstract sinif: alan metodu number donsun
// Cizilebilir adinda interface: ciz metodu void donsun
// Kare sinifi Sekil'i genişletip Cizilebilir'i uygulasin
// alan kenar*kenar donsun, ciz "kare çizildi" yazsin
// console.log(new Kare(3).alan());Örnek çözüm
abstract class Sekil {
abstract alan(): number;
}
interface Cizilebilir {
ciz(): void;
}
class Kare extends Sekil implements Cizilebilir {
kenar: number;
constructor(kenar: number) { super(); this.kenar = kenar; }
alan(): number { return this.kenar * this.kenar; }
ciz(): void { console.log("kare çizildi"); }
}
console.log(new Kare(3).alan());Beklenen çıktı
9
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir sınıfın hem temel sınıftan miras alıp hem bir interface'i uygulaması nasıl yazılır?
- class X abstract B implements I
- class X extends B, I
- class X extends B implements I Doğru cevap
- class X implements I extends B
Açıklama: TypeScript'te önce extends ile temel sınıf, sonra implements ile interface yazılır; ikisi de aynı sınıfta olabilir.
2 Setter anahtar kelimesi
class Kasa {
private _para = 0;
____ para(v: number) { this._para = v; }
}
class Kasa {
private _para = 0;
set para(v: number) { this._para = v; }
}
Açıklama: Bir özelliğe değer atanırken çalışan erişim metodu `set` anahtar kelimesi ile tanımlanır.
3 İleri sınıf kavramları
| Kavram | Anlamı |
|---|---|
abstract |
Temel sınıf işareti |
implements |
Interface sözleşmesi |
get |
Okuma erişimcisi |
extends |
Miras alma |