abstract sınıf
- TypeScript kursu
- Orta seviye
- Ders 62/89
- 4 dk
abstract sınıfları öğrenirsin.
abstract sınıf nedir?
abstract ile işaretlenmiş bir sınıf doğrudan örneklenemez; yalnızca türetilen bir temel sınıf (base class) olarak kullanılır. Alt sınıflar, extends ile ondan miras alır. abstract metotlar gövdesiz bildirilir ve alt sınıfta uygulanmak zorundadır.
abstract class Sekil {
abstract alan(): number;
}
class Daire extends Sekil {
alan() { return 3.14 * 2 * 2; }
}Abstract metot ve somut metot
Bir abstract sınıfta hem abstract metot (gövdesiz, alt sınıfta uygulanır) hem somut metot (gövdesi var, alt sınıfa geçer) bulunabilir. Alt sınıf yalnızca abstract metotları uygulamak zorundadır; somut metotlar isteğe göre override edilebilir.
abstract class Hayvan {
abstract sesCikar(): void;
tanit() { console.log("Ben bir hayvanım"); }
}Uygulama Kare alanı hesapla
abstract class Sekil tanımla; içinde abstract alan(): number bildir. Sonra Kare sınıfı Sekil'i genişletip kenar alanı alsın ve alan metodunu kenar * kenar dönecek şekilde uygula. new Kare(4).alan() sonucunu console.log ile yazdır.
Başlangıç kodu
// Sekil adinda abstract sinif tanimla
// abstract alan metodu number donsun
// Kare sinifi Sekil'i genişletsin
// alan metodunu kenar*kenar olarak uygula
// console.log(new Kare(4).alan());Örnek çözüm
abstract class Sekil {
abstract alan(): number;
}
class Kare extends Sekil {
kenar: number;
constructor(kenar: number) { super(); this.kenar = kenar; }
alan(): number { return this.kenar * this.kenar; }
}
console.log(new Kare(4).alan());Beklenen çıktı
16
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Aşağıdakilerden hangisi bir abstract sınıf için doğrudur?
- Yalnızca statik üye içerebilir
- Doğrudan new ile örneklenemez Doğru cevap
- Sadece tek bir alt sınıfı olabilir
- İçinde metot tanımlanamaz
Açıklama: abstract sınıflar doğrudan örneklenemez; alt sınıflar extends ile ondan miras alır ve abstract metotları uygular.
2 Abstract sınıf bildirimi
____ class Sekil {
abstract alan(): number;
}
abstract class Sekil {
abstract alan(): number;
}
Açıklama: Bir sınıfın doğrudan örneklenmesini engellemek ve onu temel sınıf yapmak için `abstract` anahtar kelimesi kullanılır.
3 Abstract sınıf parçaları
| Kavram | Anlamı |
|---|---|
abstract class |
Temel sınıf bildirimi |
abstract metot |
Gövdesiz, alt sınıfta uygulanır |
extends |
Alt sınıf miras alır |
somut metot |
Gövdeli, alt sınıfa geçer |