JavaDoc
Werkzeug zur standardisierten Dokumentation
Bestandteil des JDK
Bedeutung über Schlüsselwörter, beginnend mit @
Pakete
hierarchische Struktur zur Ordnung von Klassen und Unterpakete
Name: vollständiger Pfad
umgekehrte Schreibweise
z.B. de.vit.perso
Bibliotheken für Zugriff auf Projekte
Projekte können exportiert werden, damit sie in anderen Eclipse-Projekten zur Verfügung stehen
üblicherweise .jar (JAR-Datei)
Assoziationsarten
Assoziation: Verbindung zwischen Objekten, uni- oder bidirektional
Aggregation: Hat-ein-Assozation. Schwache Assoziation. Offene Raute
Komposition: Teil-von-Beziehung. Starke Assoziation. Abhängigkeit. Ausgefüllte Raute. Final-Attribut
Vererbung: Spezialisierung & Generalisierung
Pfeilspitze zeigt auf Oberklasse
Unterklasse erbt von Oberklasse (nur bei public und protected, ggf. package)
Schlüsselwort extends in Unterklasse
Konstruktoren werden nicht vererbt, können aber in Unterklasse durch super aufgerufen werden (mus erster Aufruf sein!)
in
Vererbung bei Konstruktoren und SUPER
Konstruktoren werden nicht vererbt, aber durch SUPER für Unterklasse erreichbar
keine Mehrfachvererbung —> nur eine Oberklasse möglich —> Lösung: mehrfache Aggregation
Polymorphie
“Vielgestaltigkeit”
ermöglicht es, Methoden mit gleichem Namen in verschiedenen Klassen zu definieren und sie auf unterschiedliche Weise zu implementieren
Methodenpolymorphie:
Überschreiben geerbter Methoden
Überschreiben kann mit final verboten werden
Objektepolymorphie: ein Objekt einer Unterklasse kann als Objekt der Oberklasse behandelt werden
Klasse OBJECT
jede Klasse, die keine Oberklasse enthält, besitzt implizit die Oberklasse OBJECT (Typ: OBJECT)
Methoden aus geerbter Klasse OBJECT:
clone( )
equals(Object obj)
toString( )
abstrakte Klassen
kursiv
Schlüsselwort abstract
können nicht instanziiert werden
können abstrakte Methoden besitzen
Nicht-abstrakte Spezialisierungen (konkrete Unterklassen) müssen abstrakte Methoden implementieren (sonst findet keine Initialiserung statt)
Rekursion
“zurücklaufen”
Regeln werden auf ein Produkt angewendet, welches sie vorher hervorgebracht haben
eine Funktion, die sich selbst aufruft
Interfaces
Lösungsansatz für Problematik der Mehrfachvererbung
Schnittstellen
Schlüsselwort “interface”
in der Klasse mit “implements” implementiert
haben nur Methodenköpfe, keine Implementierung, Konstruktoren und Attribute
IAdjektiv, z.B. IKonstruiert
UML: gestrichelte Linie, unterhalb der Unterklasse
Interfaces können hierarchische Struktur haben —> wie bei Klassen (extends)
Last changed2 years ago