Çok Biçimlilik
Çok biçimliliğin esnek ve dinamik kod yazmayı nasıl sağladığını keşfedin.
Çok Biçimlilik, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 6 dersinin 4. 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 Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 6 dersten oluşur.
Çok Biçimliliğe Giriş
Çok Biçimliliğe Giriş
Çok biçimlilik, Nesne Yönelimli Programlamada (OOP) farklı sınıflara ait nesnelerin ortak bir üst sınıfın nesneleri olarak ele alınmasını sağlayan temel bir kavramdır. Kodda esneklik ve yeniden kullanılabilirlik sunar.
Bu derste Python'da yöntemleri ve sınıfları kullanarak çok biçimliliği nasıl uygulayacağınızı öğreneceksiniz.

Çok Biçimlilik Nedir?
Çok Biçimlilik Nedir?
Çok biçimlilik, farklı sınıflardaki yöntemlerin aynı adı taşımasına rağmen farklı davranmasına olanak tanır. Kodu daha esnek ve genişletilmesi daha kolay hale getirir.
# Defining a superclass
class Animal:
# Method in the superclass
def speak(self):
print("Animal speaks") # Generic message for all animals
# Defining a subclass that overrides the speak method
class Dog(Animal):
def speak(self):
print("Dog barks") # Specific behavior for DogYöntemlerle Çok Biçimlilik
Yöntemlerle Çok Biçimlilik
Farklı sınıflardaki aynı adlı yöntemler farklı uygulamalar sağlayabilir.
# Another subclass with its own implementation of the speak method
class Cat(Animal):
def speak(self):
print("Cat meows") # Specific behavior for Cat
# Function demonstrating polymorphism
# It can accept objects of any subclass of Animal
def animal_sound(animal):
animal.speak() # Calls the appropriate speak method based on the object type
# Creating objects of Dog and Cat
dog = Dog()
cat = Cat()
# Calling the function with different objects
animal_sound(dog) # Outputs: Dog barks
animal_sound(cat) # Outputs: Cat meowsYöntemlerle Çok Biçimlilik Örneği
Yöntemlerle Çok Biçimlilik
Farklı sınıflardaki aynı adlı yöntemler farklı uygulamalar sağlayabilir.
# Another subclass with its own implementation of the speak method
class Cat(Animal):
def speak(self):
print("Cat meows") # Specific behavior for Cat
# Function demonstrating polymorphism
# It can accept objects of any subclass of Animal
def animal_sound(animal):
animal.speak() # Calls the appropriate speak method based on the object type
# Creating objects of Dog and Cat
dog = Dog()
cat = Cat()
# Calling the function with different objects
animal_sound(dog) # Outputs: Dog barks
animal_sound(cat) # Outputs: Cat meowsİşlevlerle Çok Biçimlilik
İşlevlerle Çok Biçimlilik
Çok biçimlilik, aynı işlevin farklı nesne türleri üzerinde çalışmasına olanak tanır.
# Defining two unrelated classes
class Bird:
def fly(self):
print("Bird flies") # Behavior specific to birds
class Plane:
def fly(self):
print("Plane flies") # Behavior specific to planes
# Function demonstrating polymorphism
# It can accept objects of both Bird and Plane
def flying_object(obj):
obj.fly() # Calls the appropriate fly method based on the object type
# Creating objects of Bird and Plane
bird = Bird()
plane = Plane()
# Calling the function with different objects
flying_object(bird) # Outputs: Bird flies
flying_object(plane) # Outputs: Plane fliesKalıtımla Çok Biçimlilik
Kalıtımla Çok Biçimlilik
Çok biçimlilik genellikle, alt sınıfların üst sınıftaki yöntemleri geçersiz kıldığı kalıtım yoluyla elde edilir.
# Superclass representing a generic vehicle
class Vehicle:
def start(self):
print("Vehicle starts") # Generic behavior for all vehicles
# Subclass representing a specific type of vehicle
class Car(Vehicle):
def start(self):
print("Car starts") # Specific behavior for cars
# Subclass representing another specific type of vehicle
class Bike(Vehicle):
def start(self):
print("Bike starts") # Specific behavior for bikes
# Function demonstrating polymorphism
# It can accept objects of any subclass of Vehicle
def start_vehicle(vehicle):
vehicle.start() # Calls the appropriate start method based on the object type
# Creating objects of Car and Bike
car = Car()
bike = Bike()
# Calling the function with different objects
start_vehicle(car) # Outputs: Car starts
start_vehicle(bike) # Outputs: Bike startsÇok Biçimliliğin Avantajları
Çok Biçimliliğin Avantajları
Çok biçimlilik çeşitli avantajlar sunar:
- Kodun yeniden kullanılabilirliği ve esnekliği.
- Kodun daha iyi okunabilirliği ve düzeni.
- Ortak arayüzlerin kullanılmasını teşvik eder.
Gerçek Dünya Örneği
Gerçek Dünya Örneği
Aşağıda çok biçimlilik kullanan gerçek dünyadan bir örnek verilmiştir.
# Real-world example of polymorphism
class Developer:
def work(self):
print("Writing code") # Specific task for developers
class Designer:
def work(self):
print("Designing user interfaces") # Specific task for designers
# Function demonstrating polymorphism
# It can accept objects of both Developer and Designer
def workday(employee):
employee.work() # Calls the appropriate work method based on the object type
# Creating objects of Developer and Designer
developer = Developer()
designer = Designer()
# Calling the function with different objects
workday(developer) # Outputs: Writing code
workday(designer) # Outputs: Designing user interfacesÇok Biçimlilikle İlgili Yaygın Hatalar
Çok Biçimlilikle İlgili Yaygın Hatalar
Kaçınmanız gereken bazı hatalar şunlardır:
- Gerektiğinde alt sınıflardaki yöntemleri geçersiz kılmayı unutmak.
- Çoklu kalıtımda yöntem çözümleme sırasını (MRO) karıştırmak.
- Basit görevler için çok biçimliliği gereksiz yere kullanmak.
Neler Öğrendiniz?
Neler Öğrendiniz?
Bu derste şunları öğrendiniz:
- Çok biçimliliğin ne olduğunu ve Python'da nasıl çalıştığını.
- Yöntemler ve kalıtımla çok biçimliliğin nasıl uygulanacağını.
- OOP'de çok biçimlilik kullanmanın avantajlarını.
Harika iş çıkardınız! Sonraki konuya geçelim.

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 Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 6 dersten oluşur.
“Çok Biçimlilik” dersinde ne öğreneceğim?
Çok biçimliliğin esnek ve dinamik kod yazmayı nasıl sağladığını keşfedin. Python Academy 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 Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Python Academy, 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, 6 dersinin 4. 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 Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Python Academy 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.
Bu kursun tüm dersleri
- Sınıflar ve Nesneler
- Öznitelikler ve Yöntemler
- Kalıtım
- Çok Biçimlilik
- Kapsülleme ve Soyutlama
- Sihirli Yöntemler (__str__, __repr__ vb.)