Woche 10: Pakete, Module und Sichtbarkeit
Die Konzepte die wir in dieser Woche anschauen, dienen nicht mehr dazu, dass wir Programme auf neue oder elegantere Art schreiben können. Diese sind jedoch dazu da, die Wartbarkeit von Programmen zu erhöhen. Wenn wir grössere, professionelle Programme schreiben, ist es wichtig, dass wir den Code gut organisieren. Die Programme sollen am Ende leicht veränderbar sein. Wir erreichen dies einerseits dadurch, dass wir zusammengehörende Teile des Codes zusammenfassen. Andererseits aber auch, indem wir unterscheiden, welche Teile vom Code die öffentliche Schnittstelle darstellt, und welche Teile nur interne Implementierungsdetails sind. Pakete helfen uns bei der Organisation der Daten. Mittels der Sichtbarkeitsattribute, private, public, protected können wir Daten und Methoden als öffentlich oder privat deklarieren. So können wir diese entsprechend vor Zugriff schützen.
Theorie
Selbststudium
Bitte arbeiten Sie die folgenden Lerneinheiten vor den Präsenzveranstaltungen durch.
- Modularität und Information hiding
- Pakete und Imports
- Die Zugriffsmodifikatoren private, public und protected
Präsenzveranstaltung Donnerstag
In der Präsenzveranstaltung werden wir die im Selbststudium erarbeiteten Konzepte anhand eines Jupyter-Notebooks vertiefen und praktisch anwenden.
Praxis
Präsenzveranstaltung Freitag
In der Präsenzveranstaltung vom Freitag werden wir GUI Programmierung am Beispiel von AWT/Swing anschauen. Die relevanten Materialien finden Sie auf Adam
Übungen - In der IDE VSCode
Das Zip-Archiv mit dem Übungsblatt Woche 10 finden Sie auf Adam
Kernaussagen
- In der Softwareentwicklung versuchen wir wenn immer möglich eine möglichst kleine, öffentliche Schnittstelle zu definieren, und alle Implementationsdetails vor Zugriff zu schützen.
- Mittels Paketen können zusammengehörende Klassen logisch organisiert werden.
- Mittels der import Klausel können Klassen innerhalb einer Java Datei verfügbar gemacht weren.
- Der Zugriff auf Klassen von ausserhalb eines Pakets ist nur für Klassen möglich, die als public deklariert sind.
- Der Zugriff auf Methoden und Felder einer Klasse ausserhalb eines Pakets ist nur möglich, wenn die entsprechenden Methoden oder Felder als public deklariert sind.
- Felder werden typischerweise als private deklariert, um diese vor direktem Zugriff aus anderen Codeteilen zu schützen.
Lernziele
Die Studierenden
- kennen die Sichtbarkeitsregeln von Java und können für ein Codefragment entscheiden, ob eine Klasse, eine Methode, oder ein Feld für den Aufrufer sichtbar ist.
- kennen das Information hiding Prinzip und wissen, wie dies in Java über die Sichtbarkeitsattribute umgesetzt wird.
- können Code in Pakete organisieren.
- können Klassen in Java Dateien mittels der Import-Anweisung importieren.