Wie versprochen kommt hier nun eine Programmieraufgabe MIT Lösung – wobei ich schon gar nicht mehr weiß, ob ich diese Aufgabe nicht schon mal gestellt habe..
Aufgabe
Erstelle ein Programm zur Verwaltung der Fahrzeuge auf einer Fähre mit Hilfe der Datenstruktur Warteschlange. Benutze bei der Implementierung das Kompositum-Entwurfsmuster – keine ArrayLists oä. Achte auf eine Trennung von Struktur und Inhalt.
Weiter soll es eine Methoden geben, die das Gesamtgewicht aller Fahrzeuge durch Ausnutzung der rekursiven Datenstruktur berechnet.
Das zugehörige Klassendiagramm in BlueJ sieht wie folgt aus, allerdings habe ich unnötige Verbindungen in der Darstellung gelöscht, um die prinzipielle Struktur besser hervorzuheben.
Die Trennung zwischen Struktur und Inhalt (oben und unten) lässt sich gut erkennen und ist ja mit ein Ziel dieses Entwurfmusters.
Selbstverständlich kann man die Aufgabe noch beliebig erweitern:
- Sitzplätze zählen,
- Sortieren der Elemente,
- Suchen von Elementen,
- Implementierung als Stapel,
- Gruppieren der Elemente (Clustering) etc.
- GUI
Und hier nun der versprochen Lösungsansatz ohne Berücksichtigung der Erweiterungsmöglichgkeiten: faehrefinal