Ana içeriğe geç

Sınıf

İngilizcesi
Class
Okunuşu
klas
Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/class

Kısaca

Sınıf, nesne yönelimli programlamada bir grup nesnenin paylaştığı veri ve davranışı tanımlayan, nesnelerin örnek olarak ondan oluşturulduğu bir plandır.

Programlamada sınıf nedir?

Sınıf, belirli bir tür nesnenin nasıl göründüğünü ve neler yapabildiğini anlatır. Her nesnenin sakladığı veriler olan özellikleri (property) ve her nesnenin çalıştırabildiği fonksiyonlar olan metotları listeler. Ardından sınıftan, her biri kendi değerlerine sahip, ihtiyacınız kadar nesne (örnek, instance) oluşturursunuz.

Genellikle new anahtar sözcüğüyle bir örnek oluşturduğunuzda, nesnenin başlangıç değerlerini ayarlamak için kurucu (constructor) adı verilen özel bir metot çalışır. Sınıfın metotlarında JavaScript'teki this ya da Python'daki self gibi bir anahtar sözcük, kullanılan belirli örneği ifade eder. Sınıflar ayrıca örneğin extends ile başka sınıflardan kalıtım alarak üst sınıfın kodunu yeniden kullanabilir, davranış ekleyebilir veya geçersiz kılabilir.

Kurabiye kalıbı sınıf için klasik bir benzetmedir. Kalıp şekli tanımlar ve bastığınız her kurabiye, her birini farklı süslesiniz bile, o şekle sahip ayrı bir örnektir. Sınıflar, kullanıcılar, siparişler ve kullanıcı arayüzü bileşenleri gibi şeyleri modelledikleri Java, C#, C++, Python ve Swift gibi dillerin merkezindedir.

Sınıf sıklıkla nesneyle karıştırılır. Sınıf tanımdır; nesne ise program çalışırken bellekte var olan somut bir örnektir. JavaScript'te sınıflar, dilin daha eski prototip tabanlı sistemi üzerinde daha temiz bir sözdizimi olarak ES2015'te eklendi; bu yüzden Java veya C#'taki sınıflardan biraz farklı davranırlar.

Önemli noktalar

  • Sınıf, nesnelerinin paylaştığı özellikleri ve metotları tanımlar.
  • Bir sınıftan oluşturulan nesneye örnek (instance) denir.
  • Kurucu (constructor), her yeni örneğin başlangıç durumunu ayarlar.
  • Sınıflar, davranışı yeniden kullanmak ve genişletmek için başka sınıflardan kalıtım alabilir.

Örnek

JavaScript'te bir sınıf ve bir alt sınıfjavascript
class Animal {
  constructor(name) {
    this.name = name; // each instance stores its own name
  }
  speak() { return `${this.name} makes a sound`; }
}

// Dog inherits from Animal and overrides speak()
class Dog extends Animal {
  speak() { return `${this.name} barks`; }
}

const rex = new Dog("Rex"); // create an instance
rex.speak(); // "Rex barks"

Sık sorulan sorular

Sınıf ile nesne arasındaki fark nedir?

Sınıf, özellikleri ve metotları tanımlayan şablondur. Nesne ise o sınıftan oluşturulmuş, kendi verisine sahip belirli bir örnektir; bu yüzden tek bir User sınıfı binlerce farklı kullanıcı nesnesi üretebilir.

Kurucu (constructor) nedir?

Kurucu, bir sınıftan yeni bir örnek oluşturduğunuzda otomatik çalışan özel bir metottur. Genellikle new User("Ada") örneğindeki gibi, aktarılan argümanlardan nesnenin başlangıç özellik değerlerini ayarlar.

JavaScript'te sınıflar var mı?

Evet. JavaScript'te ES2015'ten beri class sözdizimi vardır, ancak arka planda hâlâ diğer nesnelerin kalıtım aldığı nesneler olan prototipleri kullanır. Bu sözdizimi, nesne yönelimli kodu okumayı ve yazmayı yalnızca kolaylaştırır.

Sık karşılaştırılanlar

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar