uebungen/Assignment_011/readme.md

31 lines
1.4 KiB
Markdown
Raw Permalink 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-06-27 08:40:38 +02:00
[Musterlösung](solution/)
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.
2023-03-24 08:51:19 +01:00
3. Wechseln Sie mit `cd` in das Verzeichnis `sources`.
2023-03-24 08:50:42 +01:00
4. Bauen Sie das Projekt mit dem Kommando `mvn`.