polimorfizm ne demek?

Polimorfizm (Çok Biçimlilik)

Polimorfizm, bir programlama dilinin bir veri türünün birden fazla biçimde davranabilme yeteneğidir. Kelime anlamı olarak "çok biçimlilik" anlamına gelir. Nesne yönelimli programlamanın (OOP) temel prensiplerinden biridir ve kodun esnekliğini, yeniden kullanılabilirliğini ve genişletilebilirliğini artırır.

Temel Kavramlar:

  • Tanım: Aynı arayüzü kullanarak farklı sınıfların farklı şekillerde davranmasını sağlayan bir özelliktir.
  • Çeşitleri: Temelde iki tür polimorfizm vardır:
    • Derleme Zamanı (Statik) Polimorfizm: Metot aşırı yüklemesi (method overloading) ve operatör aşırı yüklemesi (operator overloading) gibi durumlarda derleme zamanında hangi metodun çağrılacağı belirlenir.
    • Çalışma Zamanı (Dinamik) Polimorfizm: Metot geçersiz kılma (method overriding) kullanılarak, hangi metodun çağrılacağı çalışma zamanında belirlenir.
  • Faydaları:
    • Esneklik: Kodun farklı veri türleriyle çalışabilmesini sağlar.
    • Yeniden Kullanılabilirlik: Aynı kod farklı nesneler üzerinde tekrar tekrar kullanılabilir.
    • Genişletilebilirlik: Yeni veri türleri eklendiğinde mevcut kodun değiştirilmesine gerek kalmaz.
  • Kullanım Alanları: Özellikle büyük ve karmaşık yazılım projelerinde, kodun daha modüler, okunabilir ve bakımı kolay olmasını sağlar.

Örnek Senaryo:

Bir "Şekil" adlı üst sınıfınız ve "Kare", "Daire", "Üçgen" gibi alt sınıflarınız olduğunu varsayalım. Her bir alt sınıf, "alanHesapla()" adlı bir metodu, kendi şekline özgü bir şekilde uygulayabilir. Bu, aynı metot adını kullanarak farklı sınıfların farklı davranışlar sergilemesine olanak tanır.

Polimorfizm, modern yazılım geliştirmenin vazgeçilmez bir parçasıdır ve iyi tasarlanmış nesne yönelimli sistemlerin temelini oluşturur.