Polymorphie: Unterschied zwischen den Versionen
| (10 dazwischenliegende Versionen von 3 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 | + | 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 | + | Die Polymorphie bestimmt nun welche Methode schließen() ausgeführt wird, die der Oberklasse oder die der Unterklasse. |
| + | |||
Elektroauto elektroauto01 = new Elektroauto; | Elektroauto elektroauto01 = new Elektroauto; | ||
| Zeile 21: | Zeile 22: | ||
auto01.schließen(); | auto01.schließen(); | ||
| − | auto01 ist | + | auto01 ist elektroauto01 und war somit ursprünglich ein Elektroauto, weshalb die Methode der Klasse Elektroauto ausgeführt wird. |
| + | |||
| + | |||
| + | |||
| + | [[Datei:Datei.png|800px|thumb|left|Beispiel]] | ||
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.