CodeBlanks Logo Icon CodeBlanks

abstract sınıf

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

index.ts
// 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

index.ts
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

Soru
 ____ class Sekil {
  abstract alan(): number;
}
Cevap
 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

Orta seviye bölümündeki tüm dersler