Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Grundlagen der Programmierung: Objektorientiertes Design

Was ist Polymorphie?

Testen Sie unsere 2021 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Der Aufruf ein und derselben Methode kann abhängig von der Klasse, auf welcher ein Objekt basiert, unterschiedliche Aktionen auslösen.

Transkript

Was ist Polymorphie? Zu Deutsch heißt das soviel wie Vielgestaltigkeit. Das versteht man wahrscheinlich auch nicht, deswegen schauen wir uns das jetzt hier ein wenig näher an. Ein Beispiel für Polymorphie, dass sie vielleicht schon verwendet haben, ohne überhaupt darüber nachzudenken, ist das Plus-Zeichen. Was bewirkt so ein Plus-Zeichen? In vielen Sprachen, darunter zum Beispiel auch Java-Script, ist das von den Umständen abhängig. Wenn wir zwei Variablen mit dem Plus-Zeichen addieren, und diese Variablen Ganzzahlen darstellen, dann werden sie numerisch addiert. 1 + 1 = 2. Sind die Variablen a und b dagegen Zeichenketten, dann werden sie miteinander verkettet. Dann würde für eins und eins 11 herauskommen. Für das Plus-Zeichen wird automatisch das korrekte Verhalten gewählt. Ein anderes Verhalten, je nachdem, welche der vielen verschiedenen Variablentypen wir verwenden. Dieses Beispiel ist in vielen anderen Sprachen auch integriert. Und wir können das gleiche Konzept mit unseren eigenen Klassen und unseren eigenen Objekten realisieren. Das folgende Beispiel zeigt dies. Ich definiere eine Klasse Bankkonto mit Attributen wie Kontonamen und Kontostand, eine Methode zum Einzahlen und eine zum Abheben. Wir können dann spezialisierte Subklassen erstellen, die von der Superklasse erben, also beispielsweise eine Klasse für ein Sparkonto, eine für ein Girokonto und eine Klasse Anlagenkonto. Alle erben sie Eigenschaften und Methoden von der Superklasse und alle nutzen die Basisdefinition gemeinsam. Demnach verfügen sie alle über einen Kontonamen, sie haben einen Kontostand, man kann abheben, man kann einzahlen und so weiter. Aber nur das Sparkonto fügt ihrem Geld Zinsen hinzu, ein Attribut das Girokonto zum Beispiel nicht hat. Und jetzt wird es spannend. Sagen wir mal, die Allgemeinen Geschäftsbedingungen, also das Kleingedruckte einer Bank, besagen, dass bei einer Abhebung von einem Anlagekonto eine Konventionalstrafe fällig wird, wenn man die monatliche Kündigungs- frist nicht einhält. Wir haben also ein etwas komplexeres Verhalten. Da nun das Abhebeverfahren ursprünglich in der Superklasse definiert wurde, habe ich es bereits geerbt. Ich könnte also theoretisch vom Anlagenkonto problemlos abheben. Deshalb muss ich für das Abheben nun eine gesonderte Version nur für diese Klasse Anlagekonto erzeugen. Und das bezeichnet man dann auch als Überschreiben der Methode der Superklasse. Ich habe also ein Verhalten geerbt, aber ich kann es überschreiben. Wenn ich von einem Anlagenkonto Geld abhebe, wird erst überprüft, ob die Fristen eingehalten worden sind und bei einem Girokonto findet diese Überprüfung nicht statt. In beiden Fällen machen wir vordergründig das gleiche. Geld abheben. Aber unter der Haube, da passieren unterschiedliche Dinge. Und das nennt man dann eben Polymorphie. Der Vorteil ist, wir können freier mit abgeleiteten Objekten arbeiten, die ihr Verhalten von irgendwoher geerbt haben. Ich könnte nun tausend dieser verschiedenen Kontoobjekte laden und ich könnte die Abhebemethode in jedem von ihnen aufrufen, ohne genau zu wissen, von welcher Klasse das jeweilige Objekt instanziert worden ist. Für jedes würde ich immer das korrekte Verhalten bekommen. Polymorphie ist ein mächtiges Werkzeug, das, wenn man es richtig einsetzt, unseren Programmieralltag unglaublich erleichtern kann.

Grundlagen der Programmierung: Objektorientiertes Design

Lernen Sie alle Grundbegriffe und Methoden von objektorientiertem Design kennen und holen Sie sich das Rüstzeug, um bald Ihre eigene Softwareprojekte zu starten.

2 Std. 43 min (45 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!