Polymorphie
Definition[Bearbeiten]
Wenn Methoden einer Oberklasse in eine Unterklasse überschrieben werden, kann es sein, dass die Signatur der Methode die gleiche ist, sich die Anweisungen im Rumpf jedoch unterscheiden.
Jetzt stellt sich die Frage, welche Methode ausgeführt werden soll.
Die Polymorphie schafft es, den ursprünglichen Typ des Objekts zu ermitteln und die Methode der entsprechenden Klasse zu wählen, welche dann ausgeführt wird.
Beispiel[Bearbeiten]
Ein Beispiel wären Autos: In diesem Fall wäre die Oberklasse die Klasse Auto, die Unterklassen wären verschiedene Autos wie zB ein Elektroauto und ein Automatikwagen. Man kann jedes Auto öffnen und Schließen, allerdings kann dies bei den verschiedenen Autos durch verschiedene Mechanismen passieren. Die Polymorphie bestimmt nun welche Methode schließen() ausgeführt wird, die der Oberklasse oder die der Unterklasse.
Elektroauto elektroauto01 = new Elektroauto;
Auto auto01 = elektroauto01;
auto01.schließen();
auto01 ist elektroauto01 und war somit ursprünglich ein Elektroauto, weshalb die Methode der Klasse Elektroauto ausgeführt wird.