0Pricing
TypeScript Academy · Ders

public, private ve protected Belirteçleri

Belirteçlerle sınıf üyelerine erişimi denetleyin

public, private ve protected Belirteçleri, CoddyKit'te ücretsiz bir TypeScript Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, TypeScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. TypeScript Academy kursu toplamda 4 dersten oluşur.

Hoş Geldiniz

TypeScript erişim belirleyicileri, sınıf üyelerinin görünürlüğünü denetler. Kapsüllemeyi zorunlu kılmaya ve amaçlanmayan kullanımları önlemeye yardımcı olurlar.

public: Her Yerden Erişilebilir

public varsayılandır. Genel üyeler her yerden; sınıfın içinden, alt sınıflardan ve dış koddan erişilebilir.
class Car {
  public brand: string;
  constructor(brand: string) { this.brand = brand; }
}
const c = new Car('Toyota');
console.log(c.brand); // OK

private: Yalnızca Sınıf İçinden Erişim

Özel üyelere yalnızca onları bildiren sınıfın içinden erişilebilir. Alt sınıflar ve dış kod bu üyelere erişemez.
class BankAccount {
  private balance: number = 0;
  deposit(n: number) { this.balance += n; }
}
const a = new BankAccount();
// a.balance; // Error!

protected: Sınıf ve Alt Sınıf Erişimi

Korumalı üyelere onları bildiren sınıfın ve tüm alt sınıfların içinden erişilebilir; ancak dış koddan erişilemez.
class Animal {
  protected name: string;
  constructor(name: string) { this.name = name; }
}
class Dog extends Animal {
  bark() { console.log(this.name + ' says woof!'); } // OK
}

Yalnızca Derleme Zamanında Zorunlu Kılma

TypeScript erişim belirleyicileri yalnızca derleme zamanı denetimleridir. JavaScript çıktısında hâlâ genel özellikler bulunur; çalışma zamanında zorunlu kılma yoktur.

# ile JavaScript Özel Alanları

JavaScript'te çalışma zamanında zorunlu kılınan yerel özel alanlar için `#` bulunur. TypeScript, kendi `private` anahtar sözcüğünün yanı sıra bu söz dizimini de destekler.
class Counter {
  #count = 0; // runtime private (JavaScript)
  increment() { this.#count++; }
  get value() { return this.#count; }
}

readonly Belirleyicisi

readonly özellikleri yalnızca oluşturma sırasında ayarlanabilir. Başlatıldıktan sonra değiştirilemezler.
class User {
  readonly id: number;
  constructor(id: number) { this.id = id; }
}
const u = new User(1);
// u.id = 2; // Error!

Belirleyicileri Birleştirme

Aynı özellikte erişim belirleyicilerini readonly ile birleştirebilirsiniz.
class Config {
  constructor(
    public readonly host: string,
    private readonly port: number
  ) {}
}

Oluşturucuda private

Bir oluşturucuyu özel yapmak, dışarıdan örnek oluşturulmasını engeller. Bunun yerine statik fabrika yöntemlerini kullanın.
class Singleton {
  private static instance: Singleton;
  private constructor() {}
  static getInstance(): Singleton {
    return this.instance ??= new Singleton();
  }
}

protected Oluşturucu

Korumalı bir oluşturucu doğrudan örnek oluşturulmasını engeller; ancak alt sınıfların bu oluşturucuyu super() aracılığıyla çağırmasına izin verir.
class Base {
  protected constructor(public id: number) {}
}
class Derived extends Base {
  constructor(id: number) { super(id); }
}

Erişim Belirleyicileri Çalışma Zamanı Ek Yükü Getirmez

TypeScript tüm tür bilgilerini sildiği için erişim belirleyicilerinin derlenmiş JavaScript çıktısının boyutu veya performansı üzerinde hiçbir etkisi yoktur.

Hızlı Kontrol

Bir sınıf üyesini sınıfın AND alt sınıflarının erişimine açıp dış koddan erişimi engelleyen erişim belirleyicisi hangisidir?

Özet

Erişilebilir üyeler için public (varsayılanı), kapsüllenmiş iç ayrıntılar için private ve alt sınıflara yönelik üyeler için protected kullanın. Oluşturma sonrasında değişiklik yapılmasını önlemek için readonly ekleyin.

Sıkça Sorulan Sorular

“public, private ve protected Belirteçleri” dersi ücretsiz mi?

Evet — “public, private ve protected Belirteçleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve TypeScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. TypeScript Academy kursu toplamda 4 dersten oluşur.

“public, private ve protected Belirteçleri” dersinde ne öğreneceğim?

Belirteçlerle sınıf üyelerine erişimi denetleyin TypeScript Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

TypeScript Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te TypeScript Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“public, private ve protected Belirteçleri” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu TypeScript Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her TypeScript Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. TypeScript Sınıfları ve Yapıcılar
  2. public, private ve protected Belirteçleri
  3. readonly Özellikleri ve Parametre Özellikleri
  4. Sınıflarla Arayüzleri Uygulama
← TypeScript Academy Sayfasına Dön