Was heisst Polymorphie?
Vielgestaltigkeit / Vielförmigkeit
Was ist Polymorphie?
Ein Konzept der OOP
Vorteil von Polymorphie?
Programmcode wird reduziert –> bessere Übersichtlichkeit und Wartung
Je nach “Kontext” verhält sich…
eine Klasse / Methode / Objekt unterschiedlich
Polymorphe Methode =
Überladene Methode
Polymorpher Konstruktor =
Überladene Konstruktoren
Statische Polymorphie =
Polymorphie, welche auf Überladen basiert
Bei statischer Polymorphie ist bereits bei Compiler…
eindeutige Auflösung klar basierend von untersch. Parameterlisten
Wenn die Signatur einer Methode in der Unterklasse abweicht von der geerbten Methode, ist…
es eine neue Methode der Unterklasse (Erweiterung)
Dynamische Polymorphie =
Überschreiben von Methoden der Oberklasse
Bei dynamischer Polymorphie wird…
während Laufzeit entschieden welche Methode ausgeführt wird, abhängig vom Typ des Objekts.
Polymorphie von Objekten =
Objekt kann von unterschiedlichem Typ in der Vererbungshierarchie sein.
Bspw. Deklariert Person, Instanziert Student
Referenz vom Oberklasse-Typ kann..
auch jedes Unterklasse-Typ Objekt referenzieren
Wie kann der dynamische Typ ermittelt werden und muss man das manuell?
Operator “instanceof”
Grundsätzlich sollte das nicht notwendig sein!
Was besagt das Liskovsches Subtitutionsprinzip (Ersetzungsprinzip) LSP
Oberklasse-Typ kann immer durch einen Unterklasse-Typ ersetzt werden
Eine generische Klasse hat … Typen, welche…
unbekannten Typ, welche durch Typ-Parameter als Platzhalter vertreten sind.
Was ist ein typischer Typ-Parameter Platzhalter?
Welcher Operator wird bei generischen Klassen verwendet?
Diamond-Operator: <>
Definition einer Variable vom Typ generischer Klasse benötigt…
konkreter Typ (muss im Konstruktor nicht wiederholt werden!)
Für was wird generische Klasse oft verwendet?
eine Art “Array” erstellen, welche jedoch eine variable grösse hat bsp. CommonContainer
Erstellung von generischen Klassen kann komplex werden, da:
Was ermöglichen Pakete?
Strukturierung von Klassen, Interfaces und Enumerationen
Klassen welche logisch zusammengehören, werden…
in einem gleichen Paket verwaltet
Schlüsselwort für Paket
package