Übungsaufgaben zum Thema Komposition

In dieser Übung werden wir das Kompositionskonzept vertiefen.

Aufgabe 1: Komposition: Schrank

Ein Schrank beinhalte 4 Schubladen, in die als Inhalt Gegenstände gelegt werden können

Schreiben Sie die folgenden Klassen:

Schreiben Sie auch ein Hauptprogramm, in dem ein Schrank angelegt und mit Inhalt befüllt und dessen Inhalt in das Ausgabefenster ausgegeben wird, sodass beispielsweise die folgende Programmausgabe erscheint:

Schrankinhalt: 
Schublade 1: Wichtige Papiere
Schublade 2: Kleinodien
Schublade 3: Krimskrams
Schublade 4: Vergessener Krimskrams

Aufgabe 2: Kundenverwaltung

Bei der Verwaltung von Kunden fallen unterschiedliche Daten an, die in unterschiedlichen Klassen organisiert werden können. Hierzu gehören der Name und die Adresse eines Kunden sowie die von ihm/ihr zurückliegend gekauften Waren.

Schreiben Sie die folgenden Klassen:

Schreiben Sie ein Hauptprogramm, in welchem Sie die Daten eines Kunden und die von ihm/ihr gekauften Waren erfassen und ausgeben.

Beispielausgabe:

NP-15081769-FR:
Napoleon Bonaparte
Longwood House 1, St. Helena
Gekaufte Produkte:
Courvoisier Cognac, 25.72, 15.02.1818
Eau de Gloire, 75.50, 05.07.1818
Tabac à Priser, 17.85, 15.04.1819

In der ersten Zeile steht die Kundennummer, in der zweiten der Kundenvor- und -nachname. In der dritten Zeile die Adresse, bestehend aus Straßenname, Hausnummer und Ort. Danach folgt eine Liste der bislang gekauften Produkte.

Wie schon an anderer Stelle erwähnt, gehört die von Ihnen implementierte Methode toString() zu den automatischen Methoden. Sofern diese Methode in einer Klasse existiert, wird sie automatisch vom Laufzeitsystem aufgerufen, wenn eine Zeichenkettendarstellung eines Objekts erforderlich ist. Verwenden Sie deswegen in den Ausgabeanweisungen bitte nur den Objektnamen ohne expliziten Methodenaufruf.

Erweitern Sie Ihre Lösung dann in der Weise, dass die Klasse Kunde zusätzlich über eine private innere Klasse Kontoverbindung verfügt, in der die Kontonummer sowie der Bank Identifier Code (BIC) des Kunden als Zeichenketten gespeichert werden.

Aufgabe 3: Flugzeug bauen

Komponieren Sie ein Flugzeug bestehend aus den Klassen Tragfläche, Triebwerk, Rumpf, Seitenleitwerk, Höhenleitwerk und Fahrgestell.


Abb. 2: Flugzeugbestandteile

Das Flugzeug bestehe aus den Leitwerken und dem Rumpf. Der Rumpf aus dem Fahrgestell und zwei Tragflächen. Zu jeder Tragfläche gehöre ein Triebwerk.


Abb. 3: Komposition der Klassen für das Flugzeug

Triebwerke lassen sich starten und stoppen. Flugzeuge können starten und landen. Fahrgestelle können ein- und ausfahren.

Die Klassen besitzen die folgenden Konstruktoren und Methoden:

Erstellen Sie ein Flugzeug aus diesen Baugruppen und lassen Sie es einen kurzen Testflug absolvieren. Ihr Programm soll während der Erstellung der einzelnen Bauteile und während des Testflugs folgende Meldungen ausgeben:

Fahrgestell erzeugt
Linkes Triebwerk erzeugt
Linke Tragflaeche erzeugt
Rechtes Triebwerk erzeugt
Rechte Tragflaeche erzeugt
Rumpf erzeugt
Seitenleitwerk erzeugt
Hoehenleitwerk erzeugt
Flugzeug erzeugt
Linkes Triebwerk gestartet
Rechtes Triebwerk gestartet
Flugzeug gestartet
Fahrgestell eingefahren
Fahrgestell ausgefahren
Flugzeug gelandet
Linkes Triebwerk gestoppt
Rechtes Triebwerk gestoppt