15 Aralık 2021

Temel Sınıf sözdizimi

Sınıf, nesne yönelimli programlama dillerinde nesnelerin özelliklerini, davranışlarını ve başlangıç durumlarını tanımlamak için kullanılan şablonlara verilen addır.

Wikipedia

Pratikte, aynı türden birçok nesne oluşturmamız gerekebilir, kullanıcılar veya malzemeler gibi.

Yapıcı, "new" operatörü, kısmından bildiğimiz gibi new(yeni) fonksiyonu bize bu konuda yardımcı olabilir.

Ancak modern Javascript’de bundan daha gelişmiş bir “sınıf” yapısı var. Bu yapı nesne tabanlı programlamaya yeni ve faydalı özellikler getiriyor.

Sınıf sözdizimi

Temel sözdizimi:

class MyClass {
  // class methods
  constructor() { ... }
  method1() { ... }
  method2() { ... }
  method3() { ... }
  ...
}

Sonra new MyClass() bu metotlarla birlikte yeni bir nesne oluşturuyor.

constructor() metodu new tarafından otomatik olarak çağırılıyor. Bu sayede nesneyi orada tanımlayabiliyoruz.

Örnek olarak:

class User {

  constructor(name) {
    this.name = name;
  }

  sayHi() {
    alert(this.name);
  }

}

// Usage:
let user = new User("John");
user.sayHi();

new User("John") çağırıldığında:

  1. Yeni bir nesne oluşturuluyor.
  2. constructor verilen argümanla çalışıyor ve buna this.name’i atıyor.

…Daha sonra user.sayHi gibi metodları çağırabiliriz.

Sınıf metodları arasında virgül kullanılmaz

Acemi geliştiricilerin düştüğü bir hata da, sınıf metodları arasına virgül koymak. Bu da sözdimizi hatasına neden oluyor.