Polymorphie: Unterschied zwischen den Versionen

Aus wiki.kgl-ratingen.de
Wechseln zu: Navigation, Suche
 
(5 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 5: Zeile 5:
 
Jetzt stellt sich die Frage, welche Methode ausgeführt werden soll.
 
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.
+
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.
  
  
Zeile 11: Zeile 11:
  
 
Ein Beispiel wären Autos:
 
Ein Beispiel wären Autos:
In diesem Fall wären die Oberklasse die Klasse Auto, die Unterklassen wären verschiedene Autos wie zB ein Elektroauto und ein Automatikwagen.  
+
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.  
 
Man kann jedes Auto öffnen und Schließen, allerdings kann dies bei den verschiedenen Autos durch verschiedene Mechanismen passieren.  
Die Polymorphe bestimmt nun welche Methode schließen() ausgeführt wird, die der Oberklasse oder die der Unterklasse.
+
Die Polymorphie bestimmt nun welche Methode schließen() ausgeführt wird, die der Oberklasse oder die der Unterklasse.
  
  
Zeile 22: Zeile 22:
 
auto01.schließen();
 
auto01.schließen();
  
 +
auto01 ist elektroauto01 und war somit ursprünglich ein Elektroauto, weshalb die Methode der Klasse Elektroauto ausgeführt wird.
  
[[Datei:Datei.png|200px|thumb|left|Beispiel]]
 
  
  
 
+
[[Datei:Datei.png|800px|thumb|left|Beispiel]]
auto01 ist elektroauto01 und war somit ursprünglich ein Elektroauto, weshalb die Methode der Klasse Elektroauto ausgeführt wird.
+

Aktuelle Version vom 6. Dezember 2016, 13:18 Uhr

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.


Beispiel