Çok Biçimlilik
Gelişmiş nesne yönelimli programlama kavramlarını keşfedin.
Çok Biçimlilik , CoddyKit'te ücretsiz bir Python For Kids dersidir. Bu, 5 dersinin 5. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Python For Kids öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python For Kids kursu toplamda 5 dersten oluşur.
Çok Biçimlilik
Nesne yönelimli programlama (OOP) dersine tekrar hoş geldiniz! Bugün, nesnelerin birden fazla biçime sahip olmasını sağlayan güçlü bir kavram olan Python'daki çok biçimliliği inceleyeceğiz.

Çok Biçimlilik Nedir?
Çok biçimlilik, OOP'de farklı sınıflardaki nesnelerin ortak bir üst sınıfın nesneleri olarak ele alınmasını sağlayan temel bir kavramdır. Aynı method, onu çağıran nesneye bağlı olarak farklı davranabilir.
- Tanım: "Birçok biçim" — farklı nesnelerin aynı method çağrısına kendilerine özgü şekilde yanıt verebilmesidir.
- Amaç: Birbiri yerine kullanılabilen nesnelere izin vererek kodun esnekliğini ve bütünleşmesini artırır.
Çok biçimliliğin Python'da nasıl çalıştığına bakalım!
Çok Biçimliliği Uygulama
Python'da çok biçimlilik, method geçersiz kılma ve farklı nesne türleriyle çalışan yerleşik işlevlerin kullanılmasıyla elde edilebilir.
- Method Geçersiz Kılma: Üst sınıfta zaten tanımlanmış bir methodu alt sınıfta yeniden tanımlamaktır.
- Yerleşik İşlevler: Çeşitli veri türleriyle çalışan
len()gibi işlevlerdir.
Şimdi method geçersiz kılmayı ayrıntılı olarak inceleyelim.
Method Geçersiz Kılma
Method geçersiz kılma, bir alt sınıfın üst sınıfında zaten tanımlanmış bir method için özel bir uygulama sağlamasına olanak tanır. Bu, çok biçimliliğin temel unsurlarından biridir.
Örnek:
# Defines the Animal parent class with a speak method
class Animal:
def speak(self):
print("The animal makes a sound.") # Generic speak method
Geçersiz Kılınmış Methodlara Sahip Alt Sınıflar Oluşturma
Animal sınıfından miras alan ve belirli davranışlar sağlamak için speak methodunu geçersiz kılan alt sınıflar oluşturalım.
Örnek:
# Defines the Dog child class inheriting from Animal
class Dog(Animal):
def speak(self):
print("The dog barks.") # Overridden speak method
# Defines the Cat child class inheriting from Animal
class Cat(Animal):
def speak(self):
print("The cat meows.") # Overridden speak method
Geçersiz Kılınmış Methodlarla Çok Biçimliliği Kullanma
Şimdi alt sınıfların nesnelerini oluşturalım ve aynı method adını kullanarak nasıl farklı davranışlar sergilediklerini görelim.
Örnek:
# Creates objects of Dog and Cat classes
dog = Dog()
cat = Cat()
# Calls the speak method on both objects
dog.speak() # Output: The dog barks.
cat.speak() # Output: The cat meows.
Yerleşik İşlevlerle Çok Biçimlilik
Çok biçimlilik, kullanıcı tanımlı sınıflarla sınırlı değildir. len() gibi Python'ın yerleşik işlevleri farklı veri türleriyle çalışarak çok biçimli davranış gösterir.
Örnek:
# Uses len() with a list
my_list = [1, 2, 3, 4]
print(len(my_list)) # Output: 4
# Uses len() with a string
my_string = "Hello"
print(len(my_string)) # Output: 5
# Uses len() with a dictionary
my_dict = {"a": 1, "b": 2}
print(len(my_dict)) # Output: 2
Örnek Program: Shape Alanı Hesaplama
Çok biçimliliği kullanarak farklı şekillerin alanını hesaplayan bir program oluşturalım. Bir üst sınıf olarak Shape ve area methodunu geçersiz kılan alt sınıflar olarak Circle ile Rectangle tanımlayacağız.
Kod:
# Defines the Shape parent class with an area method
class Shape:
def area(self):
pass # Placeholder method
# Defines the Circle child class inheriting from Shape
class Circle(Shape):
def __init__(self, radius):
self.radius = radius # Sets the radius of the circle
def area(self):
return 3.14 * self.radius ** 2 # Calculates area of the circle
# Defines the Rectangle child class inheriting from Shape
class Rectangle(Shape):
def __init__(self, width, height):
self.width = width # Sets the width of the rectangle
self.height = height # Sets the height of the rectangle
def area(self):
return self.width * self.height # Calculates area of the rectangle
# Creates objects of Circle and Rectangle classes
circle = Circle(5)
rectangle = Rectangle(4, 6)
# Calculates and prints areas using polymorphism
print("Circle Area:", circle.area()) # Output: Circle Area: 78.5
print("Rectangle Area:", rectangle.area()) # Output: Rectangle Area: 24
# Defines the Vehicle parent class with a move method
class Vehicle:
def move(self):
print("The vehicle moves.")
# Defines the Bicycle child class inheriting from Vehicle
class Bicycle(Vehicle):
def move(self):
print("The bicycle pedals forward.")
# Defines the Airplane child class inheriting from Vehicle
class Airplane(Vehicle):
def move(self):
print("The airplane flies in the sky.")
# Creates objects of Bicycle and Airplane classes
bike = Bicycle()
plane = Airplane()
# Calls the move method on both objects
bike.move()
plane.move()
Harika İş Çıkardınız!
Python'da çok biçimliliği ve bunun farklı sınıflardaki nesnelerin aynı method çağrılarına kendilerine özgü şekilde yanıt vermesini nasıl sağladığını öğrendiniz. Çok biçimlilik, kodunuzun esnekliğini ve ölçeklenebilirliğini artırarak onu yönetmeyi ve genişletmeyi kolaylaştırır. Anlayışınızı güçlendirmek için çok biçimli davranıştan yararlanan daha fazla sınıf ve method oluşturarak pratik yapmayı sürdürün!

Sıkça Sorulan Sorular
“Çok Biçimlilik ” dersi ücretsiz mi?
Evet — “Çok Biçimlilik ” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Python For Kids kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python For Kids kursu toplamda 5 dersten oluşur.
“Çok Biçimlilik ” dersinde ne öğreneceğim?
Gelişmiş nesne yönelimli programlama kavramlarını keşfedin. Python For Kids ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Python For Kids öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Python For Kids, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 5 dersinin 5. dersidir.
“Çok Biçimlilik ” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Python For Kids dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Python For Kids dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.