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.

fahere

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