Vererbung: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 22: | Zeile 22: | ||
[[Datei:Basisklasse-Abgeleitete-Klasse.png|mini]] | [[Datei:Basisklasse-Abgeleitete-Klasse.png|mini]] | ||
'''Polymorphie''' bedeutet "Vielgestaltigkeit." Im Bereich der Objektorientierung bezieht sich Polymorphie darauf, dass verschiedene Objekte bei Aufruf derselben Methode unterschiedliches Verhalten an den Tag legen können. Wird eine Methode von einer Superklasse an eine abgeleitete Klasse vererbt und dort mit der exakt identischen Signatur erneut implementiert, dann wird in der abgeleiteten Klasse das Verhalten dieser Methode überschrieben. Ruft man also diese Methode bei Objekten der abgeleiteten Klasse auf, verhalten sie sich anders als Methoden der Superklasse. | '''Polymorphie''' bedeutet "Vielgestaltigkeit." Im Bereich der Objektorientierung bezieht sich Polymorphie darauf, dass verschiedene Objekte bei Aufruf derselben Methode unterschiedliches Verhalten an den Tag legen können. Wird eine Methode von einer Superklasse an eine abgeleitete Klasse vererbt und dort mit der exakt identischen Signatur erneut implementiert, dann wird in der abgeleiteten Klasse das Verhalten dieser Methode überschrieben. Ruft man also diese Methode bei Objekten der abgeleiteten Klasse auf, verhalten sie sich anders als Methoden der Superklasse. | ||
<html> | |||
<iframe width="280" height="157.5" src="https://www.youtube.com/embed/B6LnjrLrMPc?si=AAa6olp7sClQUypc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> | |||
</html> | |||
== Vererbung im UML-Klassendiagramm == | == Vererbung im UML-Klassendiagramm == | ||
Zeile 50: | Zeile 54: | ||
Die Methode <code>toString()</code> wird unter derselben Signatur in den erbenden Klassen Produkt und Dienstleistung erneut aufgeführt. Das bedeutet, dass diese Methoden in den jeweiligen erbenden Klassen überschrieben und erneut implementiert werden. Dieser Vorgang wird als Polymorphie bezeichnet. | Die Methode <code>toString()</code> wird unter derselben Signatur in den erbenden Klassen Produkt und Dienstleistung erneut aufgeführt. Das bedeutet, dass diese Methoden in den jeweiligen erbenden Klassen überschrieben und erneut implementiert werden. Dieser Vorgang wird als Polymorphie bezeichnet. | ||
<html> | |||
<iframe width="280" height="157.5" src="https://www.youtube.com/embed/_-lRpQ4pnNE?si=7Av2ZHJ38qWAkEwJ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> | |||
</html> | |||
== Vererbung in Java == | == Vererbung in Java == | ||
Zeile 56: | Zeile 64: | ||
In Java gibt es keine Mehrfachvererbung. Alle Klassen gehen in Java auf eine globale Objekt-Klasse zurück und selbst benutzerdefinierte Klassen nutzen dessen Methoden und Eigenschaften. | In Java gibt es keine Mehrfachvererbung. Alle Klassen gehen in Java auf eine globale Objekt-Klasse zurück und selbst benutzerdefinierte Klassen nutzen dessen Methoden und Eigenschaften. | ||
<html> | |||
<iframe width="280" height="157.5" src="https://www.youtube.com/embed/B6LnjrLrMPc?si=n-mIGdub7Q8Dzm4W" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> | |||
</html> | |||
=== Syntax === | === Syntax === | ||
Zeile 164: | Zeile 176: | ||
[[Kategorie:FI_I_SDM]] | [[Kategorie:FI_I_SDM]] | ||
[[Kategorie:AHR_I_Informatik_LK]] | [[Kategorie:AHR_I_Informatik_LK]] | ||
[[Kategorie:FI_I_TP1]] |