Schulkiosk

Der Hausmeister am QG betreibt einen kleinen Kiosk. Die Verwaltung soll mit einem Computerprogramm erledigt werden.

Er kommt mit folgendem Pflichtenheft zu dir und möchte die Kioskverwaltung von dir programmieren lassen:

Mit dem Kioskverwaltungsprogramm sollen verschieden Waren verwaltet, der Gesamtbestand festgehalten und der Gesamtgewinn berechnet werden. In dem Kiosk gibt es als Waren Getränke und Backwaren. Als Backwaren werden ausschließlich Brezeln und belegte Brötchen verkauft. Die Waren haben eine Warenbezeichnung, einen Einkaufspreis und einen Verkaufspreis. Getränke haben unterschiedliche Inhaltsgrößen. Für die belegten Brötchen muss die Art des Belags (Kräuter-Aufstrich, Wurst, Käse,…) angegeben werden, bei den Brezeln, ob sie mit Butter bestrichen sind oder nicht. Die Waren werden über ihre Warenbezeichnung eindeutig festgelegt. Bei der Neuaufnahme einer Ware sollen die Warenbezeichnung, der Einkaufspreis und der Verkaufspreis eingegeben werden. Bei den Getränken wird zusätzlich die Inhaltsgröße und bei den belegten Brötchen die Art des Belags eingegeben.

Das folgende vereinfachte Klassendiagramm stellt die Beziehung zwischen den einzelnen Waren-Klassen dar.

(A1)

Benenne die Beziehungen zwischen den Klassen und erläutere kurz die Prinzipien der Objektorientierung.

Erläutere, warum hier einige Klassen als abstrakt deklariert sind und gib Gründe für diese Art der Deklaration an.

(A2)

Implementiere für die Klassen Brezel und Broetchen jeweils einen Konstruktor.