Informatikmaterialien 
von Tino Hempel

Startseite | Informatik | Physik | Mathematik | Sonstiges |

| Inhalt | Vorherige Seite | Nächste Seite | 


Richard-Wossidlo-Gymnasium Ribnitz-Damgarten
Fachbereich Informatik


Polymorphie und spätes Binden
(Konzept von Stifte und Mäuse)


Polymorphie 

Das Grafikprogramm zeichnet auf dem Bildschirm verschiedene Figuren. Zur Implementierung benutzte man eine abstrakte Klasse TFigur, von der die Klassen der einzelnen Figuren abgeleitet wurden. 

 

Im Programmlauf wählt man mit der Maus eine Figur aus, die dann zur aktiven Figur wird und nun durch Drücken bestimmter Tasten manipuliert werden kann.

Die "aktiveFigur" kann ein Quadrat, ein Rechteck, ein Kreis  oder ein Dreieck sein. Sie kann hier also verschiedene Gestalten annehmen. Diese Vielgestaltigkeit bezeichnet man in der OOP als Polymorphie.

Spätes Binden

Damit Objekte polymorph werden, benötigt man das Prinzip des späten bzw. dynamischen Bindens. Erst zur Laufzeit wird entschieden, welche Gestalt die "aktiveFigur" gerade einnehmen muss. 

Im Programm muss bei Neubestimmung einer Figur die alte Figur deaktiviert werden. Dazu stellt die abstrakte Klasse TFigur die Methode deaktiviere zur Verfügung, in der das Objekt gelöscht, die Linienbreite auf den Standardwert gesetzt und das Objekt neu gezeichnet wird. Dabei kann erst zur Laufzeit kann entschieden werden, welche Implementierung dazu ausgeführt werden soll. Ist die Figur nämlich ein Kreis, so wird das "zeichnen" aus der Klasse Kreis verwendet, ist die Figur ein Quadrat, so kommt die Methode aus der Klasse Quadrat.

Polymorphie bedeutet Vielgestaltigkeit. In der Objektorientierung ist Polymorphie ein Konzept, das Objekten erlaubt, auf ein und dieselbe Nachricht unterschiedlich zu reagieren.

Späte/Dyamische Bindung ist die Voraussetzung für Polymorphie. Erst zur Laufzeit des Programms wird entschieden, welche Methode zum Einsatz kommt.



zur Startseite
© Tino Hempel 1997 - 2004 Im Web vertreten seit 1994.
Eine Internet-Seite aus dem Angebot von Tino Hempel.

Für alle Seiten gilt der 
Haftungsausschluss/Disclaimer.