• Keine Ergebnisse gefunden

Programmier-Klausur Programmieren 2 – PZR 1 (5.10.2018)

N/A
N/A
Protected

Academic year: 2022

Aktie "Programmier-Klausur Programmieren 2 – PZR 1 (5.10.2018)"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Programmier-Klausur

Programmieren 2 – PZR 1 (5.10.2018)

Erlaubte Hilfsmittel:

Rechner (auch der eigene)

IDE (IntelliJ, Netbeans, Eclipse)

Dokumentationen Java

Nur bei der Abgabe: Webbrowser um die Lösungen in Moodle einzustellen Ablauf:

Dauer: 90 Minuten

1. Lesen Sie die Aufgabe aufmerksam!

2. Implementieren Sie die Aufgabe!

3. Laden Sie die Lösung auf Moodle hoch.

Fragen? Fragen Sie so, dass alle die Frage und die Antwort hören können.

Aufgabe:

Das Programm soll dazu dienen, Ihre wertvollen Besitztümer (Assets) zu verwalten. Jedes Asset hat zwei Eigenschaften: Preis (Integer (wir sind so reich, da interessieren

Kommastellen nicht ;) ) und Name (String).

Das Programm soll zwei spezielle Arten von Assets verwalten können: Immobilien (RealEstate) und Jacht (Yacht). Diese beiden spezielle Assets haben zusätzliche

Eigenschaften: eine Immobilie hat einen Quadratmeterzahl (Integer). Die Jacht hat eine Anzahl von Kabinen (Integer).

Implementieren Sie die Klassen, die die Werte dieser Assets speichern können.

Implementieren Sie Konstruktoren, mit denen Sie Objekte dieser Assets erzeugen können.

Es soll unmöglich sein, Objekte der Klasse Asset zu erzeugen. Stellen Sie das sicher.

Implementieren Sie zusätzlich Klassen, die das Memento-Pattern realisieren. Wenn Sie sich nicht an den Namen erinnern – kein Problem / keine Angst: Diese Klassen sollen den Zustand der Objekte in eine File schreiben. Der Zustand eines Objektes sind die Werte der Member. Diese weiteren Klassen sollen also die Asset-Objekte persistent machen. (Hinweis:

Wichtig werden Klassen wie File, FileInputStream, DataInputStream und die entsprechenden OutputStreams).

Diese Klassen soll außerdem in der Lage sein, Werte aus einem File zu lesen und und anhand der Werte Asset-Objekte zu erzeugen. Überlegen Sie, ob sich auch bei der Implementierung der Memento-Klassen, Ableitung anbietet.

Beweisen Sie die Funktionsfähigkeit Ihrer Software durch Tests. Die Gut-Tests sollen zeigen,

(2)

dass Sie RealEstate- und Yacht-Objekte über den Konstruktor erzeugen können, durch das Memento persistentieren können. Es soll auch gezeigt werden, dass der Inhalt eines Files dazu genutzt werden kann, ein Asset-Objekt der richtigen Klasse mit dem gespeicherten Zustand zu erzeugen.

Referenzen

ÄHNLICHE DOKUMENTE

Geben Sie dieser Klasse einen geeigneten Namen und überlegen Sie sich geeignete Methoden.. Beachten Sie die diskutierten Regeln

Implementieren Sie einen endlichen deterministischen Automaten. Ein solcher Automat startet in einem Startzustand. Dann kann man ihm Zeichen übergeben. Wir nehmen einen String

Er soll über einen Speicher verfügen, in dem das Ergebnis der letzten Operation gespeichert wird.. Dieser Speicher wird mit 0

Der Automat soll nach dem Lesen der gesamten Eingabe ein Symbol für Ja / Nein zurück geben – es bietet sich ein boolean-Wert an.. Er teilt so mit, ob die gelesenen Zeichen einen

• Man kann eine Zahl zum aktuellen Speicher addieren (unäre Operation).. • Der Speicher kann in einem File persistent gemacht

Die Methode getGood(int index) soll eine Referenz auf das gespeicherte Objekt zurück geben.. Beachten Sie den Umgang

In einigen dieser Sprachen kann zwischen Wert- und Referenzsemantik und zwischen Wert- und Referenzparametern gewählt werden, jedoch bieten die Sprachen keine konzeptionelle

Auflage hatten mit der Art und Weise der Eintheilung, sowie der sorgfältigen und gewissenhaften Behandlung des umfangreichen Stoffes im einschlägigen Bücherwesen bahnbrechend