12.5.4 OOP - Vererbung


In einem kleinen Projekt soll ein Kreis und ein Viereck auf der Zeichenfläche gezeichnet werden. Die Position eines Objekts wird mit einer x- und einer y-Koordinate angegeben. In der Entwicklungsphase soll diese Koordinate markiert werden, damit die Positionierung eines Objekts auf dem Bildschirm leichter überlegt werden kann:

Der Kreis und das Viereck haben als Gemeinsamkeit, dass die Koordinate, von der aus die geometrische Figur gezeichnet wird, mit einem kleinen schwarzen Kreis markiert ist. Beide unterscheiden sich darin, wie der Kreis bzw. das Viereck dann gezeichnet wird.

In der objektorientierten Programmierung können diese Gemeinsamkeiten und Unterschiede in der Klassenstruktur abgebildet werden. Dazu legt man eine Objekt-Schablone (Klasse) mit den Attributen und Operationen fest, die alle Objekte bei der Programmausführung haben sollen.

Die Attribute und Operationen, die nur spezielle Objekte haben sollen, werden in eigenen Objektschablonen definiert. Die speziellen Objekt-Schablonen können die allgemeinen Attribute und Operationen von der allgemeinen Objekt-Schablone erben. Diese Idee wird im folgenden Klassendiagramm visualisiert.

Die allgemeine Objekt-Schablone "geoKlasse" besitzt die Attribute "xkoord", "ykoord" und "farbe" und eine Funktion "koordZeichnen", um den kleinen schwarzen Kreis auf die Koordinatenposition zu zeichnen.

Die speziellen Objekt-Schablonen "kreisKlasse" und "viereckKlasse" haben zusätzlich die Attribute, die für einen Kreis bzw. einen Viereck benötigt werden und spezielle Operationen, um diese Objekte dann zeichnen zu können.

Im folgenden Quellcode können Sie sehen, wie so etwas programmiert wird. ACHTUNG: Im Abitur müssen Sie nicht solche umfangreichen Quellcodes schreiben können. Aber damit Sie verstehen, wie die objektorientierte Programmierung funktioniert, ist es wichtig, dass Sie den gesamten Quellcode nachvollziehen können.

In einem neuen Fenster starten: Vererbung

Erweitern Sie das letzte Beispiel mit einer Klasse "dreiecksKlasse", so dass zusätzlich zu einem Kreis und einem Viereck auch ein Dreieck in die Zeichenebene gezeichnet wird. Die Klasse "geoKlasse" soll dazu die übergeordnete Klasse sein.

Anleitung zum Dreieck in p5.js: triangle()

In einem neuen Fenster starten: Vererbung

Denken Sie sich ein kleines Projekt aus, bei welchem Sie eine allgemeine Klasse festlegen. Erweitern Sie dann die allgemeine Klasse mit zwei speziellen Klassen, welche die allgemeine Klasse erweitern.

Sie können gerne als Vorlage das Beispielprojekt verwenden und dieses etwas anpassen.

In einem neuen Fenster starten: Ergänzung mit Dreieck