uebungen/Assignment_011/readme.md

30 lines
1.5 KiB
Markdown
Raw Normal View History

2023-03-20 17:02:59 +01:00
# Information-Hiding einer Klasse verbessern
2023-03-20 16:51:33 +01:00
2023-03-24 08:40:44 +01:00
📆 **Fällig: 01.01.2023** 📆
2023-03-20 16:51:33 +01:00
## Lernziel
2023-03-20 17:02:59 +01:00
Bei einer vorhandenen Klasse Information Hiding verbessern und Seiteneffekte reduzieren.
2023-03-20 16:51:33 +01:00
## Aufgabe
2023-03-20 17:02:59 +01:00
Im Paket [pr2.strukturierung.information_hiding](../sources/src/main/java/pr2/strukturierung/information_hiding/) finden Sie eine Klasse namens `Rechner`, die eine sehr einfachen Taschenrechner repräsentiert. Außerdem finden Sie einen passenden JUnit-Test `RechnerTest`, der die Funktionsweise des Taschenrechners demonstriert.
2023-03-20 16:51:33 +01:00
2023-03-20 17:02:59 +01:00
Führen Sie den JUnit-Test aus und vergewissern Sie sich, dass der Taschenrechner korrekt funktioniert.
2023-03-20 16:51:33 +01:00
2023-03-20 17:02:59 +01:00
Schauen Sie sich die Klasse `Rechner` genau an und überlegen Sie, welche Probleme hier vorliegen. Denken Sie an die in der Vorlesung diskutierten Prinzipien des _Information Hiding_ und der _Minimierung von Seiteneffekten_.
2023-03-20 16:51:33 +01:00
2023-03-20 17:02:59 +01:00
Schreiben Sie die Klasse und die Tests so um, dass die genannten Prinzipien besser erfüllt werden.
2023-03-20 16:51:33 +01:00
2023-03-20 17:02:59 +01:00
Führen Sie die Tests erneut aus und stellen Sie sicher, dass die Berechnungen noch korrekt erfolgen.
2023-03-20 16:51:33 +01:00
## Abgabe (optional)
__Sie müssen keine Lösung für diese Aufgabe einreichen.__
Sie können Ihre Lösung aber auf die Konformität mit den Programmierstandards testen. Hierzu gehen Sie wie folgt vor:
1. Öffnen Sie eine Kommandozeile (Terminal).
2. Gehen Sie in Ihr Working Directory.
3. Rufen Sie mit `bin/submit.sh` das Skript auf, das die Lösungen testet und kompiliert. Wenn Maven eine Fehlermeldung zeigt, beheben Sie diese zuerst, bevor Sie mit dem nächsten Schritt fortfahren.