Lernpfad:Objektorientierte Programmierung mit Java/Vererbung: Unterschied zwischen den Versionen

Zur Navigation springen Zur Suche springen
keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 15: Zeile 15:
Statt dessen können im Problembereich logische Zusammenhänge zwischen den Klassen identifiziert werden. Jede Klasse ''ist eine'' <code>Form</code>. Ein <code>Quadrat</code> ''ist ein'' <code>Rechteck</code>. Die konkreten Form-Klassen haben alle bestimmte Attribute und Methoden gemeinsam.
Statt dessen können im Problembereich logische Zusammenhänge zwischen den Klassen identifiziert werden. Jede Klasse ''ist eine'' <code>Form</code>. Ein <code>Quadrat</code> ''ist ein'' <code>Rechteck</code>. Die konkreten Form-Klassen haben alle bestimmte Attribute und Methoden gemeinsam.


<code>Form</code> ist also eine '''Oberklasse'' von <code>Dreieck</code> und <code>Rechteck</code>. <code>Quadrat</code> ist eine '''Unterklasse''' von <code>Rechteck</code>. (Also ist <code>Rechteck</code> wiederum '''Oberklasse''' von <code>Quadrat</code>.) Die Methoden müssen so nur einmal in <code>Form</code> implementiert werden, sind aber durch die Vererbung in allen Objektinstanzen verfügbar.
<code>Form</code> ist also eine '''Oberklasse''' von <code>Dreieck</code> und <code>Rechteck</code>. <code>Quadrat</code> ist eine '''Unterklasse''' von <code>Rechteck</code>. (Also ist <code>Rechteck</code> wiederum '''Oberklasse''' von <code>Quadrat</code>.) Die Methoden müssen so nur einmal in <code>Form</code> implementiert werden, sind aber durch die Vererbung in allen Objektinstanzen verfügbar.


Das neue Implementierungsdiagramm sieht so aus:
Das neue Implementierungsdiagramm sieht so aus:

Navigationsmenü