2.3 Polymorphie
Wir werden Polymorphie formal in Kapitel 5, »Vererbung und Polymorphie«, definieren und die Anwendungen der Polymorphie dort erläutern.
Der Nutzen der Polymorphie
Um aber einen ungefähren Eindruck davon zu geben, was der Nutzen der Polymorphie ist, stellen wir zur Erläuterung ein Beispiel aus dem Alltag vor: den Austausch einer Glühbirne.
Wörtlich übersetzt bedeutet Polymorphie »Vielgestaltigkeit«. Mit Bezug auf Glühbirnen können wir diesen Begriff definitiv anwenden: Glühbirnen gibt es in den verschiedensten Formen und Gestalten. Da reicht das Repertoire von der 20-Watt-Normalbirne über die 150-Watt-Superleucht-Birne bis zur Energiesparlampe. Wir können diese verschiedenen Formen aber alle an einer ganz definierten Stelle anbringen: in einer dafür vorgesehenen Fassung.
Abbildung 2.4 Verschiedene Glühbirnen passen in dieselbe Fassung.
Nun haben sich die Hersteller von Fassungen und die Hersteller von Glühbirnen bis zu einem gewissen Grad auf einen gemeinsamen Standard geeinigt. 20-Watt-Glühbirnen brauchen kein anderes Gewinde als 60-Watt-Glühbirnen, Energiesparlampen können in dasselbe Gewinde geschraubt werden wie eine Birne, die von Greenpeace den Preis »Umweltschwein des Jahres« erhalten hat. Die Voraussetzung dafür ist lediglich, dass alle Birnen der Spezifikation der gemeinsamen Normierungsorganisation für Birnen und Fassungen folgen.
Dass sich die einzelnen Birnen dann ganz unterschiedlich verhalten, ist nicht mehr relevant. Die eine schummert vor sich hin, die andere leuchtet hell und verbraucht massig Strom, die dritte wiederum hat nur eine Lebensdauer von zwei Wochen: Für das Einschrauben in die Fassung ist das nicht relevant.
Wir haben durch die Konzentration auf das Zusammenspiel mit der Fassung eine Abstraktion geschaffen: Alle Birnen, die bestimmte Eigenschaften in Bezug auf ihr Gewinde aufweisen, können mit der genormten Fassung zusammenarbeiten. Die zusätzlich vorhandenen Eigenschaften sind dafür nicht relevant und können sich durchaus unterscheiden.
Möglichkeiten im objektorientierten System
Genau diese Möglichkeiten, die es für den (auf den ersten Blick banalen) Bereich der Glühbirnen gibt, möchten wir auch in unseren objektorientierten Systemen nutzen. Wir möchten Stellen in unserem Code haben, die es uns erlauben, einzelne Elemente auszutauschen – wie eine Fassung für Glühbirnen: Ein Berechnungsverfahren für eine bestimmte Aufgabe ist nicht mehr schnell genug für Ihre Ansprüche? Tauschen Sie es doch einfach gegen ein effizienteres Verfahren aus, und klinken Sie es in die dafür vorgesehene Fassung ein. Ein neues Übertragungsprotokoll für Daten muss unterstützt werden? Schrauben Sie es in die Fassung, in die schon alle anderen Übertragungsprotokolle eingesetzt werden konnten.
Die Polymorphie im Zusammenspiel mit einem cleveren Systementwurf ermöglicht uns ein solches Vorgehen. Gegenstand des Entwurfs ist es, die Stellen zu finden, an denen Fassungen vorgesehen werden müssen, und die Objekte zu bestimmen, die in diese Fassungen geschraubt werden. An den richtigen Punkten eingesetzt, kann die Nutzung der Polymorphie dadurch zu wesentlich flexibleren Programmen führen. Sie steigert damit die Wartbarkeit und Änderbarkeit unserer Software.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.