JavaScript’te Polymorphism Kavramı: Aynı İsimli Ancak Farklı İşlevlere Sahip Yöntemlerin Kullanımı

Hamdi Yılmaz
1 min readMar 19, 2023

Polymorphism (çok biçimlilik), nesne yönelimli programlama (OOP) kavramlarından biridir. Bu kavram, aynı isme sahip ancak farklı işlevlere sahip olan yöntemlerin ve işlevlerin kullanımına olanak tanır. Bu, programlama dili bağımsızlığını artırır ve kodun yeniden kullanılabilirliğini sağlar.

JavaScript’te polymorphism, farklı nesne türlerinin aynı işlevleri veya yöntemleri uygulama yeteneği ile gerçekleştirilir. Örneğin, bir dizi nesne oluşturulabilir ve her biri farklı bir sınıftan türetilmiş olabilir. Bu nesneler, aynı adı taşıyan ancak farklı bir işlevi olan bir yöntemi çağırabilirler.

Aşağıdaki örnekte, bir Hayvan sınıfı tanımlanır ve bu sınıftan türetilen Köpek ve Kedi sınıfları oluşturulur. Her bir sınıfın konuşma() adında bir yöntemi vardır, ancak her sınıf bu yöntemi farklı şekilde uygular:

class Hayvan {
konuşma() {
console.log("Hayvan konuşuyor");
}
}

class Köpek extends Hayvan {
konuşma() {
console.log("Hav hav!");
}
}

class Kedi extends Hayvan {
konuşma() {
console.log("Miyav!");
}
}

// Köpek ve Kedi nesneleri oluşturalım
const köpek = new Köpek();
const kedi = new Kedi();

// Her bir nesnenin konuşma() yöntemini çağıralım
köpek.konuşma(); // "Hav hav!"
kedi.konuşma(); // "Miyav!"

Yukarıdaki örnekte, Hayvan sınıfından türetilen Köpek ve Kedi sınıfları, kendi konuşma() yöntemlerini uygulayarak farklı çıktılar verirler. Bu örnekte polymorphism, farklı nesne türlerinin aynı yöntemi uygulama yeteneği ile gerçekleştirilir.

--

--