# Information-Hiding einer Klasse verbessern 📆 **Fällig: 26.03.2023** 📆 ## Lernziel Bei einer vorhandenen Klasse Information Hiding verbessern und Seiteneffekte reduzieren. ## Aufgabe 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. Führen Sie den JUnit-Test aus und vergewissern Sie sich, dass der Taschenrechner korrekt funktioniert. 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_. Schreiben Sie die Klasse und die Tests so um, dass die genannten Prinzipien besser erfüllt werden. Führen Sie die Tests erneut aus und stellen Sie sicher, dass die Berechnungen noch korrekt erfolgen. ## 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.