# Information-Hiding einer Klasse verbessern



## 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. Wechseln Sie mit `cd` in das Verzeichnis `sources`.
  4. Bauen Sie das Projekt mit dem Kommando `mvn`.