Bearbeite die folgenden aufeinander aufbauenden Aufgaben. Versuche jede Aufgabe zuerst selbst als Klassendiagramm zu lösen – auf Papier oder in einem Tool deiner Wahl. Klicke erst danach auf „Musterlösung anzeigen“ und fahre mit der Maus über die Diagrammteile, um Erklärungen zu bekommen.
Du findest nachfolgend ungeordnet Klassen, Attribute (Eigenschaften) und Methoden:
Auto, Fahrrad, Verkehrsteilnehmerin, Farbe, Marke, PS, Eigentümerin, Nachname, AnzahlSitzplätze, startet, bremst, beschleunigt, Baujahr, Treibstoff, Bus, E-Bike, parkt ein, Rahmengröße, Gangschaltung, nutzt Verkehrsmittel, Vorname
Ordne die Begriffe den zusammengehörenden Klassen, Attributen und Methoden zu. Achte darauf, dass Attribute und Methoden sinnvoll den Klassen zugeordnet werden – einige gehören zu mehreren Klassen und müssen mehrfach eingetragen werden.
Bei deiner Zuordnung solltest du festgestellt haben, dass einige Attribute und Methoden redundant auftreten. Überlege, wie eine übergeordnete Klasse heißen könnte, und welche Attribute/Methoden ihr zugeordnet und dann an die Unterklassen vererbt werden könnten.
Erstelle beispielhaft eine eigene Instanz der Klasse Fahrrad und der Klasse Verkehrsteilnehmerin.
Erstelle eine Klasse Motorrad. Von welcher Oberklasse erbt sie? Welche Attribute/Methoden unterscheiden sie von den anderen Klassen?
Schau dir nun alle bisherigen Klassen an. Gibt es Klassen, die sich sinnvoll aus zwei Oberklassen ableiten lassen könnten? Entwickle eine weitere Oberklasse für die motorspezifischen Eigenschaften und erweitere eine bestehende Klasse so, dass sie Mehrfachvererbung nutzt.
Überlege dir, wie du Küchenmaschinen (Kaffeemaschine, Kühlschrank, Spülmaschine, Mixer …) objektorientiert modellieren könntest. Definiere Objekte, deren Eigenschaften und Methoden.
Ein Mitschüler hat folgendes Diagramm zur Fahrzeug-Hierarchie gezeichnet. Es enthält einen typischen Fehler. Klicke auf das Element, das falsch dargestellt ist.