Fehlerbehandlung, Exceptions, Module Flashcards
Wozu führt Modularität?
Beherrschung von Komplexität
Wieso führt Modularität zur Beherrschung von Komplexität?
- weniger Elemente zu betrachten: Entlastung Kurzeitgedächtnis
- Zusammengehöriges zusammenfassen: Konsistenz
- Abhängigkeiten und Details vor allem innerhalb Modul, Entkopplung zwischen Modulen: Veränderungen wirken sich möglichst klein aus und sind absehbar
Wann ist ein Zugriff auf ein Modul möglich?
Nur wenn expliziz freigegeben, Ändrungen der Klienten ändern das Modul nicht
Was ist das Geheimnisprinzip?
Module trennen in Schnittstelle und Implementation
Wieso können Klassen mehr als Module?
- definieren Typen mit Exemplaren
- sind polymorph verwendbar: Methoden überschreiben/überladen
- haben Vererbungsbeziehungen zueinander: Hierachien
Was kann ein Paket enthalten?
- Klassen
- Interfaces und
- Pakete
Was schafft man durch Pakete?
Entkopplung durch Kapselung
- Zugriff beschränken
- Namensraum und
- Übersetzungseinheit, sparen von Übersetzungszeit, weil nur das eine Paket übersetzen, nicht das ganze Projekt
Was ist der Namensraum?
- Häufige Namen, wie List oder File können häufiger verwendet werden, da sie durch die Namensnennung der Pakete eindeutig bestimmbar sind
- Paketname implizit Präfix von Klassen und Interfaces
Was ist ein vollqualifizierter Name?
Paketname.Typname
Was bedeutet Eindeutigkeit im Bezug auf Pakete?
Jede Klasse kann nur einem Paket zugehörig sein
Für was ist etwas ohne Modifier sichtbar?
Nur für innerhalb des Pakets
Wie wird ein Paket deklariert?
am Anfang einer Übersetzungseinheit: package paketname;
Wozu gehören Dateien ohne explizite Deklaration?
Zu einem Default-Package
Was bildet die Export-Schnittstelle eines Pakets?
alles als public deklarierte
Wozu wurden native Module eingeführt?
Um die Sichtbarkeit besser explizit zu steuern