SOTE 1 - johner.org

Werbung
SOTE1­2016­10­07.notebook
October 07, 2016
SOTE 1
2016­10­07
1
SOTE1­2016­10­07.notebook
October 07, 2016
Java­Klasse bestehen aus
• Package
siehe nächste Seite
• Import
• Attribute (Instanz, Klassen)
• Methoden (Instanz, Klassen)
• Konstruktor(en)
• Innere Klasse • Dokumentation: JavaDocs (mit /** ... */ und mit @), //
2
SOTE1­2016­10­07.notebook
Sinn von Packages
• Eindeutigkeit von Klassen
• Übersichtlichkeit, Struktur
• Kapselung von Komponenten
> Wiederbarkeit
> Austauschbarkeit
> Testbarkeit
> Sicherheit
October 07, 2016
Kapselung = Einschränkung der Zugriffsrechte
• Block
• Methode
• Klasse
• Package
• NICHT (!): Bibliotheken / Jars
• Künftig (ab Java 9?): Super­Packages
Zentrales Architektur­Paradigma (gute Architektur)
weak coupling - strong cohesion
3
SOTE1­2016­10­07.notebook
October 07, 2016
Innere Klassen
1. Member Class (Mitgliedsklassen)
2. Lokalen inneren Klassen
3. Anonymen inneren Klassen
4
SOTE1­2016­10­07.notebook
October 07, 2016
ad 1) Member Class
Instanzierung
Innere Klassen können auch private sein. Dann müssen sie innerhalb der Klasse instanziert werden.
5
SOTE1­2016­10­07.notebook
October 07, 2016
ad 2) Lokale innere Klassen
Lokale innere Klassen werden nur innerhalb(!) von Methoden deklariert und auch nur dort instanziert bzw. verwendet.
Lokale innere Klassen haben keinen public / private Modifier.
Lokale innere Klassen können bis Java 7 einschließlich nur auf final Attribute der umgebenden Methode zugreifen.
geht erst ab Java 8 ohne "final"
6
SOTE1­2016­10­07.notebook
October 07, 2016
ad 3) Anonyme innere Klassen
JButton button = new JButton();
button.addEventListener(new EventListener(){
public onEvent(...){
...
}
});
Das Arbeiten mit anonymen inneren Klassen setzt Interfaces voraus.
7
SOTE1­2016­10­07.notebook
October 07, 2016
Exkurs Interfaces
Interfaces dienen dazu, Klassen / Komponenten einfacher austauschen ("weak coupling") zu können. Interfaces sind "Versprechen", dass die implementierenden Klassen die Methoden des Interfaces implementieren.
8
Herunterladen