Zur Themenübersicht     

Vererbung: IST-Beziehung

Die Klasse TBuntTurtle als Nachfolgeklasse von TTurtle

An der Turtle stört uns, dass sie nur schwarze Linien zeichnen kann.  Schöner wäre es, wenn eine Turtle farbige Linien zeichnen könnte. Wir benötigen also eine Klasse TBuntturtle, deren Objekte genau das können, was eine Turtle auch kann. Zusätzlich sollen sie aber eine weitere Eigenschaft besitzen, nämlich eine Farbe. Die Farbe soll frei einstellbar sein, also benötigen wir eine zusätzliche Methode: setzeFarbe. Um Informationen über die Farbe zu erhalten dient dann die Methode liesFarbe.

Also: Die Klasse TBuntturtle besitzt alle Eigenschaften und Methoden der Klasse TTurtle. Es kommen zusätzliche Eigenschaften und Methoden hinzu. In einem solchen Falle bezeichnet man die Klasse TBuntturtle als Nachfolgeklasse der Klasse TTurtle, umgekehrt heißt TTurtle Vorgängerklasse von TBuntturtle. Da Kinder häufig viele Eigenschaften ihrer Eltern erben, nennt man diesen Vorgang Vererbung. Im Unterschied zur Natur erben Objekte von Nachfolgeklassen aber alle Eigenschaften und Methoden der Vorgängerklasse. 

In Klassendiagrammen wird der Klassenzusammenhang der Vererbung durch einen Halbkreis entsprechend folgendem Beispiel dargestellt:

In der Nachfolgeklasse gibt man nur die neuen Eigenschaften und Methoden an

IST-Beziehung:

Jedes Objekt der Klasse TBuntTurtle ist auch eine (einfache) Turtle. Man spricht deswegen bei der Vererbung auch von einer IST-Beziehung.

Denn : Jeder Pudel IST ein Hund, aber nicht jeder Hund ein Pudel.

Präzisierung des Begriffes der Vererbung:

Eine (Unter-) Klasse kann als Erweiterung einer anderen (Ober-) Klasse definiert werden. Diese Unterklasse erbt dann alle Attribute und Methoden der Oberklasse. Darüber hinaus können in der Unterklasse weitere Attribute oder Methoden deklariert werden. Ferner besteht die Möglichkeit, Methoden der Oberklasse neu zu definieren , sie zu überschreiben. Es können aber keine Attribute oder Methoden der Oberklasse entfernt werden.