Python programlama dilinde, çok biçimlilik nesne tabanlı programlamanın temel kavramlarından biridir. Çok biçimlilik, farklı veri tiplerinin aynı işlevi yerine getirmesine olanak tanır ve kodun daha esnek ve genişletilebilir olmasını sağlar.
Çok biçimlilik, aynı isimdeki yöntemlerin farklı sınıflar tarafından farklı şekillerde kullanılabilmesini sağlar. Bu sayede, farklı veri tipleri üzerinde aynı işlemler yapmak mümkün hale gelir.
Aşağıdaki örnekte, “Hesapla” adlı bir üst sınıf ve “Toplama” ile “Carpma” adında iki alt sınıf gösterilmiştir:
class Hesapla:
def hesapla(self):
pass
class Toplama(Hesapla):
def __init__(self, x, y):
self.x = x
self.y = y
def hesapla(self):
return self.x + self.y
class Carpma(Hesapla):
def __init__(self, x, y):
self.x = x
self.y = y
def hesapla(self):
return self.x * self.y
Burada, “Hesapla” adında bir üst sınıf tanımladık ve “Toplama” ile “Carpma” adında iki alt sınıf oluşturduk. Her iki alt sınıf da “Hesapla” sınıfından miras aldı.
“hesapla()” yöntemi, tüm sınıflarda aynı adla tanımlandı. Ancak, “Toplama” sınıfında bu yöntem iki sayının toplamını, “Carpma” sınıfında ise bu yöntem iki sayının çarpımını hesaplar.
Bu sayede, hem “Toplama” hem de “Carpma” nesneleri “hesapla()” yöntemini kullanarak farklı işlemler yapabilirler.
Nesne yöntemlerine erişmek için, nesne adını kullanarak nokta işaretiyle yönteme erişebiliriz. Örneğin, aşağıdaki gibi bir kod “toplama_islemi” adındaki “Toplama” nesnesinin sonucunu ekrana yazdırır:
toplama_islemi = Toplama(5, 10)
print(toplama_islemi.hesapla())
Bu kod, “toplama_islemi” nesnesinin iki sayının toplamını hesaplar ve sonucu ekrana yazdırır.
Python’da çok biçimlilik, farklı veri tipleri üzerinde aynı işlemlerin yapılabilmesini sağlayarak kodun daha esnek ve genişletilebilir olmasını sağlar. Çok biçimlilik, Python’da oldukça yaygın olarak kullanılır ve birçok kütüphanede yer alır.