CodeBlanks Logo Icon CodeBlanks

Özet - Sınıflar

JavaScript kursu · İleri seviye · Ders 12/100

extends, super ve static ile bir geometrik şekil sınıf hiyerarşisi yazarsın.

Özet - Sınıflar

Bu grupta sınıfların temellerini öğrendin:

  • class ile şablon tanımlarsın.
  • constructor yeni örneği başlatır; new ile örnek üretirsin.
  • Yöntemler this üzerinden örneğe erişir.
  • extends ile alt sınıf, super() ile üst yapıcı çağrılır.
  • static üyeler sınıfa aittir.

Şimdi bunları bir araya getiren bir hiyerarşi yazalım.

Uygulama Şekil hiyerarşisi

Bir Shape temel sınıfı tanımla; area() yöntemi 0 döndürsün. Sonra Circle alt sınıfını extends ile tanımla: yapıcısı radius alıp super() çağırsın ve this.radius atansın; area() yöntemi Math.PI * this.radius * this.radius döndürsün.

Örnek çözümü göster
Önce Shape ve area(), sonra Circle extends Shape içinde super() ve this.radius ata.
Örnek çözüm:
class Shape {
  area() {
    return 0;
  }
}

class Circle extends Shape {
  constructor(radius) {
    super();
    this.radius = radius;
  }
  area() {
    return Math.PI * this.radius * this.radius;
  }
}

Statik üyeleri hatırla

Statik üyeler örneklerden bağımsızdır; sınıf adıyla çağrılır. Bir sınıf tüm örneklerin sayısını tutmak, genel sabitler saklamak veya yardımcı yöntemler sağlamak için statik üyeler kullanır.

Son görevde statik bir sayaç ve statik bir tanım yöntemi ekleyeceğiz; böylece sınıf düzeyindeki veriyi örneklerle birlikte görmüş olacaksın.

Uygulama Logger sınıfı

Bir Logger sınıfı tanımla. static count özelliği 0 olsun. Yapıcısı parametre almasın ve her çağrıda Logger.count değerini bir artırsın. static describe() yöntemi bir metin döndürsün.

Örnek çözümü göster
static count = 0 ile başla, yapıcıda Logger.count++ yap, en son static describe() ekle.
Örnek çözüm:
class Logger {
  static count = 0;
  constructor() {
    Logger.count++;
  }
  static describe() {
    return "Logger instance";
  }
}

Kendini test et

  1. Bir sınıfa ait üye tanımlamak için hangi anahtar kelime kullanılır?

    • static
    • instance
    • private
    • const
    Cevabı göster

    static — Doğru! static üyeler sınıfa ait olur.

  2. Kavramları eşleştir

    class
    sınıf bildirimi
    constructor
    yapıcı yöntem
    extends
    alt sınıf
    super()
    üst yapıcı çağrısı
    static
    sınıfa ait üye

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