CodeBlanks Logo Icon CodeBlanks

Statik üyeler

static ile sınıf düzeyinde üyeleri öğrenirsin.

static nedir?

static ile tanımlanan üyeler örnek değil sınıf düzeyindedir. Yeni örnek oluşturmadan sınıf adı ile doğrudan erişilir. MathUtil.PI ve MathUtil.square(5) gibi.

class MathUtil {
  static PI: number = 3.14;
  static square(n: number): number {
    return n * n;
  }
}
console.log(MathUtil.PI);
console.log(MathUtil.square(5));

Instance vs static

Örnek üyeleri new ile örnek oluşturduktan sonra erişilirken, static üyeler sınıf adıyla doğrudan erişilir. Bir örnek metodunun içinde static alana erişmek için sınıf adını kullanırsın.

class Counter {
  static count: number = 0;
  increment(): void {
    Counter.count++;
  }
}

Uygulama Counter sınıfı yaz

Counter sınıfını tanımla. static count: number = 0 alanı ve static increment(): void metodu ekle (metot Counter.count'u bir artırsın). Counter.increment()'i iki kez çağır ve Counter.count'u yazdır.

Başlangıç kodu

index.ts
// Counter sınıfı tanımla
// count alanı sınıf düzeyinde, başlangıç 0
// increment metodu sınıf düzeyinde, count'u artırır
// increment'i iki kez çağır, count'u yazdır

Örnek çözüm

index.ts
class Counter {
  static count: number = 0;
  static increment(): void {
    Counter.count++;
  }
}

Counter.increment();
Counter.increment();
console.log(Counter.count);

Beklenen çıktı

2

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 static bir üyeye nasıl erişilir?

  • Önce new ile örnek oluştur
  • Sınıf adı ile doğrudan Doğru cevap
  • super. ile
  • this. ile

Açıklama: static üyelere örnek oluşturmadan sınıf adı ile doğrudan erişilir: MathUtil.PI. this ve super örnek bağlamında kullanılır, new ise örnek oluşturur.

2 static anahtar kelimesini tamamla

Soru
class MathUtil {
  ____ PI: number = 3.14;
}
Cevap
class MathUtil {
  static PI: number = 3.14;
}

Açıklama: static, üyeyi sınıf düzeyine taşır. class yanlış bağlam, const sınıf gövdesinde geçersiz, public ise erişim belirtecidir (statik yapmaz).

3 Statik üye parçaları

Kavram Anlamı
static Sınıf düzeyinde üye
MathUtil.PI Statik alana erişim
MathUtil.square(5) Statik metot çağrısı
Counter.count Sınıf adı ile erişim

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