0Pricing
Python Academy · Lektion

Polymorphie

Erkunden Sie, wie Polymorphie flexiblen und dynamischen Code ermöglicht.

Polymorphie ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 6. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Python Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python Academy-Kurs umfasst insgesamt 6 Lektionen.

Einführung in die Polymorphie

Einführung in die Polymorphie

Polymorphie ist ein zentrales Konzept der objektorientierten Programmierung (OOP). Sie ermöglicht es, Objekte verschiedener Klassen als Objekte einer gemeinsamen Oberklasse zu behandeln. Dadurch wird der Code flexibler und wiederverwendbar.

In dieser Lektion lernen Sie, wie Sie Polymorphie in Python mithilfe von Methoden und Klassen implementieren.

Polymorphie — Illustration 1

Was ist Polymorphie?

Was ist Polymorphie?

Polymorphie ermöglicht es Methoden in verschiedenen Klassen, denselben Namen zu verwenden und sich dennoch unterschiedlich zu verhalten. Dadurch wird der Code flexibler und lässt sich leichter erweitern.

# 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

Polymorphie mit Methoden

Polymorphie mit Methoden

Methoden mit demselben Namen können in verschiedenen Klassen unterschiedliche Implementierungen bereitstellen.

# 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

Beispiel für Polymorphie mit Methoden

Polymorphie mit Methoden

Methoden mit demselben Namen können in verschiedenen Klassen unterschiedliche Implementierungen bereitstellen.

# 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

Polymorphie mit Funktionen

Polymorphie mit Funktionen

Polymorphie ermöglicht es derselben Funktion, mit verschiedenen Objekttypen zu arbeiten.

# 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

Polymorphie durch Vererbung

Polymorphie durch Vererbung

Polymorphie wird häufig durch Vererbung erreicht, bei der Unterklassen Methoden der Oberklasse überschreiben.

# 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

Vorteile der Polymorphie

Vorteile der Polymorphie

Polymorphie bietet mehrere Vorteile:

  • Wiederverwendbarkeit und Flexibilität des Codes.
  • Bessere Lesbarkeit und Strukturierung des Codes.
  • Die Verwendung gemeinsamer Schnittstellen wird gefördert.

Beispiel aus der Praxis

Beispiel aus der Praxis

Hier sehen Sie ein Beispiel aus der Praxis, das Polymorphie verwendet.

# 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

Häufige Fehler bei der Polymorphie

Häufige Fehler bei der Polymorphie

Diese Fehler sollten Sie vermeiden:

  • Vergessen, erforderliche Methoden in Unterklassen zu überschreiben.
  • Die Method Resolution Order (MRO) bei Mehrfachvererbung zu verwechseln.
  • Polymorphie unnötigerweise für einfache Aufgaben zu verwenden.

Was haben Sie gelernt?

Was haben Sie gelernt?

In dieser Lektion haben Sie Folgendes gelernt:

  • Was Polymorphie ist und wie sie in Python funktioniert.
  • Wie Sie Polymorphie mit Methoden und Vererbung implementieren.
  • Welche Vorteile die Verwendung von Polymorphie in der OOP bietet.

Sehr gut! Fahren Sie mit dem nächsten Thema fort.

Polymorphie — Illustration 12

Häufig gestellte Fragen

Ist die Lektion „Polymorphie“ kostenlos?

Ja — der vollständige Text von „Polymorphie“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Python Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python Academy-Kurs umfasst insgesamt 6 Lektionen.

Was lerne ich in „Polymorphie“?

Erkunden Sie, wie Polymorphie flexiblen und dynamischen Code ermöglicht. Du übst Python Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Python Academy zu starten?

Keine Vorkenntnisse erforderlich. Python Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 6.

Wie lange dauert die Lektion „Polymorphie“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Python Academy-Lektion Code schreiben und ausführen?

Ja. Jede Python Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Klassen und Objekte
  2. Attribute und Methoden
  3. Vererbung
  4. Polymorphie
  5. Kapselung und Abstraktion
  6. Magische Methoden (__str__, __repr__ usw.)
← Zurück zu Python Academy