====== Abitur 2011 I (Lösung) ====== ==== Lösung ==== **1. a)** \\ Es empfiehlt sich, die beim Lesen der Aufgabenstellung die Klassen, ihre Attribute und Methoden farbig zu unterstreichen und dann das Klassendiagramm zu zeichnen: {{ :listen:kompositum:aufgaben:2011:pasted:20241007-201243.png }} \\ **b)** \\ Die Aufgabenstellung der Aufgabe 1a) legt die Bezeichnung "Leistung" für die Oberklasse von ''Gericht'' und ''Getränk'' nahe. {{ :listen:kompositum:aufgaben:2011:pasted:20241007-201116.png }} \\ **c)** \\ public abstract class Produkt { public boolean istVorhanden() { return(portionen > 0); } public abstract void drucken(); } public class Getränk extends Produkt { public void drucken() { if(alkoholisch) { System.out.print(“A ”); } System.out.println(bezeichnung + “ “ + preis); } } public class Gericht extends Produkt { public void drucken() { System.out.println(bezeichnung + “ “ + preis); } } **d)** \\ Objektdiagramm: {{ :listen:kompositum:aufgaben:2011:pasted:20241007-201157.png }} Klassendiagramm: {{ :listen:kompositum:aufgaben:2011:pasted:20241007-201213.png?400 }} public class BESTELLUNG { public double rechnungsbetragGeben() { return erster.gesamtPreis(); } } public abstract class Bestellungselement { public abstract double gesamtPreis(); } public class KNOTEN extends Bestellungselement { public double gesamtPreis() { if(inhalt.istAusgeliefert()) { return inhalt.preisGeben() + nachfolger.gesamtPreis(); } else { return nachfolger.gesamtPreis(); } } } public class ABSCHLUSS extends Bestellungselement { public double gesamtPreis() { return 0; } } **f)** \\ SELECT Bezeichnung, Preis FROM speisen WHERE AnzahlVorhanden > 10 **g)** Das Programm müsste eine Verbindung zur Datenbank herstellen, die SQL-Abfrage an die Datenbank senden, das Abfrageergebnis auslesen und auf den Bildschirm ausgeben. Abschließend müsste die Verbindung noch geschlossen werden.