Çok Biçimlilik
Çok biçimliliğin esnek ve dinamik kodu nasıl mümkün kıldığını keşfetme
Çok Biçimlilik, CoddyKit'te ücretsiz bir Learn AI with Python 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, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 6 dersten oluşur.
Polimorfizme Giriş
Polimorfizme Giriş
Polimorfizm, farklı sınıflara ait nesnelerin ortak bir üst sınıfın nesneleri olarak ele alınmasını sağlayan Nesne Yönelimli Programlamanın (NYP) temel kavramlarından biridir. Kodda esneklik ve yeniden kullanılabilirlik sağlar.
Bu derste, metotları ve sınıfları kullanarak Python'da polimorfizmi 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ı paylaşırken farklı davranmasına olanak tanır. Kodu daha esnek ve genişletilmesini daha kolay hâle 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 DogPolimorfizm with Metotlar
Polimorfizm with Metotlar
Farklı sınıflardaki aynı adlı metotlar farklı gerçekleştirimler 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 meowsMetotlarla Polimorfizm Örneği
Polimorfizm with Metotlar
Farklı sınıflardaki aynı adlı metotlar farklı gerçekleştirimler 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 Polimorfizm
Polimorfizm with İşlevler
Polimorfizm, aynı işlevin farklı nesne türleri üzerinde çalışmasını sağlar.
# 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 Polimorfizm
Kalıtımla Polimorfizm
Polimorfizm çoğunlukla, alt sınıfların üst sınıftaki metotları 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 startsPolimorfizmin Avantajları
Polimorfizmin Avantajları
Polimorfizm çeşitli avantajlar sunar:
- Kodun yeniden kullanılabilirliği ve esneklik.
- Kodun okunabilirliğinin ve düzeninin iyileştirilmesi.
- Ortak arayüzlerin kullanımını teşvik etmesi.
Gerçek Dünya Örneği
Gerçek Dünya Örneği
Polimorfizm kullanarak gerçek dünyadan bir örneğe bakalım.
# 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:
- Polimorfizmin ne olduğunu ve Python'da nasıl çalıştığını.
- Metotlar ve kalıtımla polimorfizmin nasıl uygulanacağını.
- NYP'de polimorfizm kullanmanın avantajlarını.
Harika iş çıkardınız! Şimdi 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 Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 6 dersten oluşur.
“Çok Biçimlilik” dersinde ne öğreneceğim?
Çok biçimliliğin esnek ve dinamik kodu nasıl mümkün kıldığını keşfetme Learn AI with Python 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.
Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, 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 Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Learn AI with Python 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.)