JavaScript, uzun yıllar boyunca prototip tabanlı bir dil olarak bilindi. Ancak, ES6 (ECMAScript 2015) ile birlikte, nesne yönelimli programlama (OOP) için daha tanıdık bir sözdizimi olan class (sınıf) yapısı dilin bir parçası haline geldi. Bu yazıda, JavaScript sınıflarının temellerini ve bunların nasıl kullanıldığını öğreneceksiniz. Ayrıca, çeşitli örnek kod bloklarıyla bu konuyu daha iyi kavrayacaksınız.
JavaScript Sınıflarının Temelleri
JavaScript sınıfları, nesne yönelimli programlamayı daha kolay ve anlaşılır hale getiren bir yapıdır. Sınıflar, nesne oluşturmak için bir şablon sağlar ve bir nesnenin özelliklerini ve metodlarını tanımlamanıza olanak tanır.
Temel Bir Sınıf Tanımı
Bir sınıf tanımlamak için class
anahtar kelimesi kullanılır. İşte basit bir örnek:
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
greet() {
console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
}
}
const john = new Person('John Doe', 30);
john.greet(); // Hello, my name is John Doe and I am 30 years old.
Bu örnekte, Person
adında bir sınıf tanımladık. constructor
metodu, yeni bir nesne oluşturulduğunda çağrılır ve name
ve age
özelliklerini ayarlar. greet
metodu ise bu özellikleri kullanarak bir mesaj yazdırır.
Kalıtım ve Alt Sınıflar
JavaScript sınıfları, diğer sınıflardan kalıtım alabilir ve böylece yeniden kullanılabilir kod yazmayı kolaylaştırır. Kalıtım için extends
anahtar kelimesi kullanılır.
Kalıtım Örneği
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} makes a noise.`);
}
}
class Dog extends Animal {
constructor(name, breed) {
super(name);
this.breed = breed;
}
speak() {
console.log(`${this.name} barks.`);
}
}
const rex = new Dog('Rex', 'German Shepherd');
rex.speak(); // Rex barks.
Bu örnekte, Animal
adında bir sınıf ve Dog
adında bu sınıftan türetilmiş bir alt sınıf tanımladık. Dog
sınıfı, Animal
sınıfının speak
metodunu geçersiz kılar ve kendi speak
metodunu tanımlar. Ayrıca, Dog
sınıfı Animal
sınıfının constructor
metodunu çağırmak için super
anahtar kelimesini kullanır.
Statik Metodlar ve Özellikler
Statik metodlar ve özellikler, sınıfın kendisine ait olup, sınıfın örnekleri tarafından değil doğrudan sınıfın kendisi tarafından çağrılır.
Statik Metod Örneği
class Calculator {
static add(a, b) {
return a + b;
}
}
console.log(Calculator.add(5, 3)); // 8
Bu örnekte, Calculator
sınıfının add
adında statik bir metodu vardır. Bu metod, sınıfın bir örneği oluşturulmadan doğrudan sınıfın kendisi üzerinden çağrılabilir.
Özet ve Sonuç
JavaScript sınıfları, nesne yönelimli programlamayı modern JavaScript’te daha erişilebilir ve anlaşılır hale getirir. Sınıflar, nesne oluşturmak, kalıtım almak ve statik metodlar tanımlamak için kullanışlı bir yapı sunar.
Bu yazıda, JavaScript sınıflarının temel kullanımlarını ve bazı önemli özelliklerini ele aldık. Sınıflar, büyük ve karmaşık uygulamaların daha düzenli ve sürdürülebilir kodlar yazılmasını sağlar. JavaScript sınıflarını kullanarak projelerinizi nasıl daha iyi organize edebileceğinizi keşfetmek için, öğrendiğiniz bu bilgileri uygulamalarınızda kullanabilirsiniz.