Modellierung
- Modell ist vereinfachtes Abbild der Wirklichkeit
- repräsentiert ein Original oder mehrere
- besitzt weniger Details als Original
- für bestimmten Zweck geschafft
Liskovsches Substitutionsprinzip
frei interpretiert und übersetzt
Objekte die auf Obertyp A deklariert wurden, können immer durch Objekt ersetzt eines beliebigen Untertyps ersetzt werden.
Da Programmteile sich nur auf gemeinsamen Eigenschaften, die durch Obertyp definiert werden verlassen, kann dabei nichts kaputt gehen
Vererbung
- extends
- eine Klasse erweitert eine andere Klasse
- übernimmt alle Attribute und Methoden der übergeordneten Klasse
- abstract
- muss an eine Klasse vererbt werden
- kann nicht genutzt werden um ein Objekt zu erstellen
- super
- verweist auf die übergeordnete Klasse
- hat Zugriff auf alle Methoden der übergeordneten Klassen
- implements
- definiert abstrakte Methoden
- andere Klassen müssen diese Methoden implementieren
- final
- Variables können nicht überschrieben werden
- protected
- können nur im gleichen Package oder der Subklassen benutzt werden
- this
- verweist auf das derzeitige Objekt
Polymorphie
Die Bereitstellung einer gemeinsamen Schnittstelle für Entitäten unterschiedlichen Typs.
- Unterteilt in drei Formen
- Überladen: Ad-hoc Polymorphie
- Überschreiben: Subtyping
- Generics: Parametrisierte Polymorphie