JavaScript Sınıflarında Derin Dalış: Statik, Public, Private ve Protected
Merhaba! Fatih Soysal burada. Bu yazıda JavaScript’te sınıfların temel yapı taşlarını, özellikle statik, public, private ve protected üyelerini detaylı bir şekilde ele alacağız. JavaScript’in nesne yönelimli programlama (OOP) özelliklerini daha iyi anlamak için bu kavramları öğrenmek oldukça önemlidir. Başlayalım!
Public Üyeler
Public üyeler, sınıfın herhangi bir yerinden ve sınıfın bir örneği üzerinden erişilebilen ve değiştirilebilen üyelerdir. Bunlar varsayılan erişim belirleyicileridir ve herhangi bir özel belirleyici gerektirmezler. Örneğin;
class Person {
constructor(name) {
this.name = name; // Public üye
}
greet() { // Public metod
console.log("Merhaba, adım " + this.name);
}
}
Yukarıdaki örnekte, name ve greet() metodları public’tir. Bir Person nesnesi oluşturup, name özelliğine erişebilir ve greet() metodunu çağırabiliriz.
Private Üyeler
Private üyeler, yalnızca sınıfın içinden erişilebilen ve değiştirilebilen üyelerdir. Bunlara sınıf dışından erişim sağlanamaz. JavaScript’te, private üyeler # sembolü ile tanımlanır. Örneğin;
class Person {
#age; // Private üye
constructor(name, age) {
this.name = name;
this.#age = age;
}
getAge() { // Public metod, private üyeye erişim sağlar
return this.#age;
}
}
Burada, #age private bir üyedir. Sınıfın dışından doğrudan erişilemez. Ancak, getAge() gibi public metotlar aracılığıyla dolaylı olarak erişilebilir. Bu, kapsülleme prensibine uygundur ve verilerin korunmasına yardımcı olur.
Protected Üyeler
Protected üyeler, sınıfın kendisinin ve alt sınıflarının içinden erişilebilen ve değiştirilebilen üyelerdir. JavaScript’te, protected üyeler için özel bir sözdizimi yoktur. Genellikle bir sözleşme olarak kabul edilirler ve alt sınıflarda kullanılmaları beklenir. Ancak doğrudan erişimi engellemek için private üyeler tercih edilmelidir.
Statik Üyeler
Statik üyeler, sınıfın kendisine aittir ve sınıfın bir örneğini oluşturmaya gerek kalmadan doğrudan sınıf üzerinden erişilebilir. static anahtar sözcüğü ile tanımlanırlar. Örneğin;
class MathUtils {
static sum(a, b) {
return a + b;
}
}
console.log(MathUtils.sum(5, 3)); // 8
sum() metodu statik bir metottur. MathUtils sınıfının bir örneğini oluşturmadan doğrudan çağırabiliriz.
Sonuç
Bu makalede, JavaScript sınıflarındaki statik, public, private ve protected üyeleri detaylı bir şekilde inceledik. Bu kavramları anlamak, JavaScript’te daha temiz, düzenli ve sürdürülebilir kod yazmanıza yardımcı olacaktır. Daha fazla JavaScript dersi ve bilgi için fatihsoysal.com sitesini ziyaret edebilirsiniz. Ayrıca, konu ile ilgili daha fazla bilgi için bu kaynağı inceleyebilirsiniz.
Umarım bu makale faydalı olmuştur. Sorularınız veya önerileriniz varsa, lütfen yorumlarda belirtin!
#Etiketler: JavaScript, Sınıflar, Statik, Public, Private, Protected, OOP, Nesne Yönelimli Programlama, JavaScript Dersleri, Programlama Rehberi
