Man erkennt deutlich, wie viele Dinge ein Objekt vom Typ Papagei mit einem Objekt vom Typ Loewe gemeinsam hat. Natürlich könnte man eine Klasse Papagei so erstellen, wie wir es bei der Klasse Loewe gemacht hatten, allerdings ist schon auffällig, wie viele Dinge man doppelt eingeben müsste, nämlich name, gewicht, futterzeit, anzahlBeine, laufe(), setAnzahlBeine(int anzahlBeine) und getAnzahlBeine().
Das ist nicht nur aufwändig, sondern im Falle einer notwendigen Fehlerkorrektur auch fehleranfällig: man müsste sich jedes Mal beim Beheben eines Fehlers in der Klasse Loewe daran erinnern, diesen möglicherweise auch in der Klasse Papagei auszubessern.
Zum Glück gibt es für dieses sehr häufig auftretende Szenario eine Lösung:
Man erkennt deutlich, wie viele Dinge ein Objekt vom Typ _Papagei_ mit einem Objekt vom Typ _Loewe_ gemeinsam hat. Natürlich könnte man eine Klasse _Papagei_ so erstellen, wie wir es bei der Klasse _Loewe_ gemacht hatten, allerdings ist schon auffällig, wie viele Dinge man doppelt eingeben müsste, nämlich *name*, *gewicht*, *futterzeit*, *anzahlBeine*, *laufe()*, *setAnzahlBeine(int anzahlBeine)* und *getAnzahlBeine()*.
Das ist nicht nur aufwändig, sondern im Falle einer notwendigen Fehlerkorrektur auch fehleranfällig: man müsste sich jedes Mal beim Beheben eines Fehlers in der Klasse _Loewe_ daran erinnern, diesen möglicherweise auch in der Klasse _Papagei_ auszubessern.
Zum Glück gibt es für dieses sehr häufig auftretende Szenario eine Lösung: