0Pricing
Learn AI with Python · Ders

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

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

Polimorfizm 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 meows

Metotlarla 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 flies

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

Polimorfizmin 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.

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

  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.)
← Learn AI with Python Sayfasına Dön