8.582
Bearbeitungen
Jneug (Diskussion | Beiträge) |
Jneug (Diskussion | Beiträge) |
||
| Zeile 26: | Zeile 26: | ||
== Methoden überschreiben == | == Methoden überschreiben == | ||
Beim Überschreiben bekommen abgeleitete Klassen eine eigene Version mindestens einer Methode der Basisklasse. | Beim Überschreiben bekommen abgeleitete Klassen eine eigene Version mindestens einer Methode der Basisklasse. | ||
Betrachte das folgende Klassendiagramm mit einer Ober- und drei erbenden Unterklassen und die dazugehörige Implementierung. | |||
[[Datei:UML Vererbung 3.jpg|center]] | |||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
| Zeile 69: | Zeile 72: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Die Unterklassen <code>Biene</code> und <code>Frosch</code> implementieren die Methode <code>sagWas() : int</code>, die auch in der Oberklasse <code>Tier</code> vorhanden sind. Sie **Überschreiben** die Methode in der Oberklasse. | |||
{{Aufgabe:Start}} | |||
# Lies den [http://openbook.rheinwerk-verlag.de/javainsel/06_004.html#u6.4.1 "Abschnitt 6.4.1: Methoden in Unterklassen mit neuem Verhalten ausstatten"] im Onlinebuch "Java ist auch eine Insel" bis zur Überschrift "Die Annotation @Override". | |||
# Welche Ausgabe wird vom Quelltext oben erzeugt? | |||
<lückentext> | <lückentext> | ||
Ein Tier sagt '''- Stille -'''<br/> | Ein Tier sagt '''- Stille -'''<br/> | ||
| Zeile 75: | Zeile 84: | ||
Was sage ich? '''- Stille -()''' | Was sage ich? '''- Stille -()''' | ||
</lückentext > | </lückentext > | ||
# Erstellt ein kleines Beispielprojekt, an dem das Konzept "Überschreiben" erklärt werden kann. | # Erstellt ein kleines Beispielprojekt, an dem das Konzept "Überschreiben" erklärt werden kann. | ||
{{Aufgabe:End}} | {{Aufgabe:End}} | ||