Polymorphie in Java
Definition von Wikipedia
Polymorphie (griechisch für ?Vielgestaltigkeit?), ist ein Konzept in Programmiersprachen, das die Fähigkeit eines Bezeichners beschreibt, abhängig von seiner Verwendung unterschiedliche Datentypen anzunehmen.
Das Gegenteil der Polymorphie ist die Monomorphie. Hier sind die Variable oder das Literal während der gesamten Laufzeit von genau einem Datentyp.
Da das eine etwas abstrakte Definition ist, versteht man das Prinzip der Polymorphie am besten anhand eines praktischen Beispiels.
Zuerst einmal jedoch etwa was wir bisher gelernt haben und nicht weiter hinterfragten:
DatenTyp referenzVariable = new Objekt();
Wie wir es bisher immer verwendeten:
BMW z4 = new BMW();
Was wir jedoch auch machen können:
Beispiel für Polymorphie in Java
public class Panjutorials {
public static void main(String[] args) {
Auto einAuto[] = new Auto[2];
einAuto[0] = new Audi();
einAuto[1] = new BMW();
for(int i=0; i<einAuto.length; i++){
einAuto[i].reparieren();
}
}
}
Was wir also machen, ist ein Array bestehend aus zwei Objekten erzeugen, Audi und BMW, die beide vom Datentypen Auto sind. Dann lassen wir eine for Schleife laufen die in jedem unserer Objekte die Methode reparieren() aufruft. Als Grundlage dient das Tutorial Vererbung mit extends.
Wir können also unterschiedliche Objekte zu einem Array von Referenzvariablen zuordnen, solange der Datentyp der Referenzvariable von der Superklasse der Objekte ist – das ist Polymorphie.
Noch mehr Details zu Polymorphie in Java findest Du hier