Polymorphie (Programmierung)

Terminus der Informatik
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 1. Mai 2004 um 15:25 Uhr durch Danimo (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.


Polymorphie ("Vielgestaltigkeit") bedeutet, dass Funktionen bzw. Methoden einem bestimmten Typ bzw. einer bestimmten Klasse zugeordnet sind, und je nach Typ/Klasse eines bestimmten Objekts die zugehörige Funktion/Methode ausgeführt wird.

Man unterscheidet zwischen Kompilationszeit-Polymorphie und Laufzeit-Polymorphie. Kompilationszeit-Polymorphie bedeutet, dass der statische Typ des Objekts die aufgerufene Funktion/Methode bestimmt. Dies funktioniert nur für Sprachen mit statischen Typen, und wird typischerweise mit Überladen und generischen Funktionen implementiert.

Laufzeit-Polymorphie bedeutet, dass die Klasse des Objekts zur Laufzeit bestimmt, welche Methode aufgerufen wird ("späte Bindung"). Diese muss nicht unbedingt identisch mit dem statischen Typ sein (sofern dieser überhaupt existiert). Die Laufzeit-Polymorphie ist einer der wichtigsten Bestandteile der objektorientierten Programmierung.