CodeBlanks Logo Icon CodeBlanks

extends ve super

JavaScript kursu · İleri seviye · Ders 10/100

Bir sınıfı extends ile türetmeyi ve super ile üst sınıfı çağırmayı öğrenirsin.

extends ile türetme

Bir sınıfı başka bir sınıftan türetmek için extends anahtar kelimesini kullanırsın. Türetilen sınıfa alt sınıf (subclass), türetildiği sınıfa üst sınıf denir.

class Animal {
  constructor(name) { this.name = name; }
}
class Dog extends Animal {}

Dog sınıfı Animal'ın tüm üyelerini miras alır; kendi ek üyelerini de tanımlayabilir.

super çağrısı

Bir alt sınıfın yapıcısında this kullanmadan önce üst sınıfın yapıcısını super(...) ile çağırman gerekir. Bu, üst sınıfın başlatma işini yapmasını sağlar.

class Dog extends Animal {
  constructor(name, breed) {
    super(name);
    this.breed = breed;
  }
}

Burada super(name) üst sınıfın constructor'ını çalıştırır; sonra this.breed eklenebilir.

Uygulama Dog alt sınıfı

Aşağıdaki Animal sınıfı verildi. Dog adlı alt sınıfı extends ile tanımla. Yapıcısı name parametresini alıp super(name) çağırsın ve this.sound özelliğine "Hav" atansın.

Örnek çözümü göster
Yapıcı içinde önce super(name), sonra this.sound = "Hav" yaz.
Örnek çözüm:
class Dog extends Animal {
  constructor(name) {
    super(name);
    this.sound = "Hav";
  }
}

Kendini test et

  1. Alt sınıf yapıcısında `this` kullanmadan önce ne çağrılmalıdır?

    constructor() { /* ... */ }
    • this()
    • new Animal()
    • super()
    • extends
    Cevabı göster

    super() — Doğru! super() üst sınıf yapıcısını çalıştırır.

  2. Sınıfı türet

    class Dog ____ Animal {}
    Cevabı göster
    class Dog extends Animal {}
  3. Kavramları eşleştir

    extends
    alt sınıf bildirimi
    super()
    üst sınıf yapıcı çağrısı
    super.metot()
    üst sınıf yöntem çağrısı
    subclass
    türetilmiş sınıf

İleri seviye bölümündeki tüm dersler