Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Einführung in die Polymorphie | Abschnitt
Practice
Projects
Quizzes & Challenges
Quizze
Challenges
/
Objektorientierte Programmierung in Python

bookEinführung in die Polymorphie

Note
Definition

Polymorphismus ist ein zentrales Prinzip der objektorientierten Programmierung, das es ermöglicht, Objekte verschiedener Typen über eine gemeinsame Schnittstelle als gleichen Typ zu behandeln. Dies macht den Code flexibler sowie leichter wartbar und erweiterbar.

Stellen Sie sich Polymorphismus so vor, dass verschiedene Objekte alle auf denselben Methodenaufruf reagieren, jedoch jeweils auf ihre eigene Art und Weise. Beispielsweise liefert der Aufruf einer speak()-Methode bei verschiedenen Tieren unterschiedliche Ergebnisse:

  • Ein Dog gibt "Woof!" zurück;
  • Eine Cat gibt "Meow!" zurück;
  • Eine Cow gibt "Moo!" zurück.

Der Methodenname bleibt gleich, aber jedes Objekt stellt seine eigene Implementierung bereit.

Note
Hinweis

Ohne Polymorphismus erfordert der Code separate Funktionen und komplexe Bedingungen, was die Erweiterung erschwert und zu Duplizierung sowie Wartungsproblemen führt.

Python unterstützt verschiedene Formen der Polymorphie, die jeweils eine andere Möglichkeit bieten, dass Objekte eine gemeinsame Schnittstelle teilen und dennoch einzigartiges Verhalten zeigen.

Duck Typing
expand arrow

Ermöglicht die Verwendung von Objekten basierend auf ihrem Verhalten (Methoden/Attribute, die sie besitzen) anstelle ihres Typs.

Methodenüberschreibung
expand arrow

Erlaubt einer Unterklasse, eine eigene Implementierung einer von der Elternklasse geerbten Methode bereitzustellen, wodurch spezialisiertes Verhalten ermöglicht wird.

Operatorüberladung
expand arrow

Definiert, wie Operatoren (+, -, * usw.) für benutzerdefinierte Objekte neu interpretiert werden, sodass sie auf eine natürliche, intuitive Weise funktionieren.

Abstrakte Basisklassen (ABCs)
expand arrow

Legt formale Verträge fest, die Unterklassen einhalten müssen, um Konsistenz und strukturierte Gestaltung über Implementierungen hinweg sicherzustellen.

Betrachten Sie ein praxisnahes Beispiel eines Mediaplayers. Die Klasse MediaPlayer muss nicht wissen, ob sie eine AudioFile, VideoFile oder ImageFile verarbeitet. Sie ruft einfach die play()-Methode für jedes Medienobjekt auf, und jeder Typ übernimmt die Wiedergabe auf seine eigene angemessene Weise. Genau dies ermöglicht die Polymorphie.

question mark

Was ist der Hauptzweck von Polymorphismus in der objektorientierten Programmierung?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 19

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

bookEinführung in die Polymorphie

Swipe um das Menü anzuzeigen

Note
Definition

Polymorphismus ist ein zentrales Prinzip der objektorientierten Programmierung, das es ermöglicht, Objekte verschiedener Typen über eine gemeinsame Schnittstelle als gleichen Typ zu behandeln. Dies macht den Code flexibler sowie leichter wartbar und erweiterbar.

Stellen Sie sich Polymorphismus so vor, dass verschiedene Objekte alle auf denselben Methodenaufruf reagieren, jedoch jeweils auf ihre eigene Art und Weise. Beispielsweise liefert der Aufruf einer speak()-Methode bei verschiedenen Tieren unterschiedliche Ergebnisse:

  • Ein Dog gibt "Woof!" zurück;
  • Eine Cat gibt "Meow!" zurück;
  • Eine Cow gibt "Moo!" zurück.

Der Methodenname bleibt gleich, aber jedes Objekt stellt seine eigene Implementierung bereit.

Note
Hinweis

Ohne Polymorphismus erfordert der Code separate Funktionen und komplexe Bedingungen, was die Erweiterung erschwert und zu Duplizierung sowie Wartungsproblemen führt.

Python unterstützt verschiedene Formen der Polymorphie, die jeweils eine andere Möglichkeit bieten, dass Objekte eine gemeinsame Schnittstelle teilen und dennoch einzigartiges Verhalten zeigen.

Duck Typing
expand arrow

Ermöglicht die Verwendung von Objekten basierend auf ihrem Verhalten (Methoden/Attribute, die sie besitzen) anstelle ihres Typs.

Methodenüberschreibung
expand arrow

Erlaubt einer Unterklasse, eine eigene Implementierung einer von der Elternklasse geerbten Methode bereitzustellen, wodurch spezialisiertes Verhalten ermöglicht wird.

Operatorüberladung
expand arrow

Definiert, wie Operatoren (+, -, * usw.) für benutzerdefinierte Objekte neu interpretiert werden, sodass sie auf eine natürliche, intuitive Weise funktionieren.

Abstrakte Basisklassen (ABCs)
expand arrow

Legt formale Verträge fest, die Unterklassen einhalten müssen, um Konsistenz und strukturierte Gestaltung über Implementierungen hinweg sicherzustellen.

Betrachten Sie ein praxisnahes Beispiel eines Mediaplayers. Die Klasse MediaPlayer muss nicht wissen, ob sie eine AudioFile, VideoFile oder ImageFile verarbeitet. Sie ruft einfach die play()-Methode für jedes Medienobjekt auf, und jeder Typ übernimmt die Wiedergabe auf seine eigene angemessene Weise. Genau dies ermöglicht die Polymorphie.

question mark

Was ist der Hauptzweck von Polymorphismus in der objektorientierten Programmierung?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 19
some-alt