0Pricing
Python Academy · Ders

Ç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 — resim 1

Ç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 Dog

Yö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 meows

Yö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 flies

Kalı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.

Çok Biçimlilik — resim 12

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

  1. Sınıflar ve Nesneler
  2. Öznitelikler ve Yöntemler
  3. Kalıtım
  4. Çok Biçimlilik
  5. Kapsülleme ve Soyutlama
  6. Sihirli Yöntemler (__str__, __repr__ vb.)
← Python Academy Sayfasına Dön