Das Video kommt von YouTube: erst beim Abspielen verbindet sich die Seite mit YouTube (Google).
Was ist Polymorphie in Java?
Das Wichtigste aus dem Video
Tipp auf eine Zeit – das Video springt genau dorthin.
Transkriptautomatisch erstellt · 31 Zeilen
- ja hallo zusammen in diesem Video möchte ich euch gerne einen Fachbegriff erklären der immer wieder im Zusammenhang mit objektorientierter
- Programmierung vorkommt und zwar der Begriff der Polymorphie hierbei beschränke ich mich allerdings auf die Sprache
- Java Java macht es sich da ein bisschen einfach weil in Java ist Polymorphie im Prinzip das sogenannte subtyping und das demonstriere ich euch jetzt einfach mal
- eine einem konkreten Beispiel und zwar basiert subtyping bzw eben die Polymorphie wie sie in Java abgebildet wird auf einer
- Vererbungshierarchie und zwar habe ich ein beginne ich bei einem abstrakten Objekt mein wegen der Vierbeiner und von diesem Vierbeiner
- kann ich dann konkrete vier Beine ableiten wie z.B eine ein Hund oder eine Katze und wie
- das geht das haben wir schon gelernt und zwar über das Schlüsselwort extend kann ich jetzt einfach sagen
- Vierbeiner und in dieser Vierbeiner Klasse die ich hier einbinde habe ich eine Methode abstrakt definiert die ein
- Standardverhalten beschreibt denn nämlich jeder Vierbeiner kann Rennen und das ist auch der Grund weshalb ich hier einen roten Strich bzw einen
- Fehler habe weil nämlich ich dadurch dass ich eben in dieser Vierbeiner Klasse die rennmethode abstrakt definiert habe bin ich gezwungen diese
- hier einzubinden also diese rennmethode muss in jedem Objekt BZ in jeder Klasse die ich von Vierbeiner ableite enthalten sein
- deswegen füge ich die jetzt einfach mal hier ein das geht ganz einfach indem ich add unimplement method sage und hier schreibe ich jetzt einfach
- rein system out
- printline Hund rent ja und das gleiche das mache ich jetzt auch mit einer
- Katze xtens vier Beine
- und unimplanted methods und hier schreibe ich jetzt rein System
- out.print line Karte
- rent so und jetzt kommt der Begriff Polymorphie ins Spiel nämlich ich schreibe jetzt hier eine
- Klasse zum Testen und zwar lege ich hier eine Instanz von Vierbeiner an und zwar einmal ein
- Hund mit einem hundeobjekt und ein Vierbeiner Katze mit einem
- katzenobjekt das funktioniert weil eben jeder Hund eine konkrete Implementierung eines Vierbeiners ist genauso wie eine
- so und jetzt habe ich ja in beiden Klassen eine Methode Rennen ja und vom Verhalten wünsche ich es mir natürlich so dass wenn ich die rennmethode der
- Katze Aufrufe die rennmethode von der Klasse Katze aufgerufen wird und bei dem Aufruf ein der rennmethode bei einem
- hundeobjekt die rennmethode aus der Klasse Hund aufgerufen wird und das und das ist der wichtige Punkt das obwohl meine
- Variablen von der Oberklasse Vierbeiner sind ja probieren wir das einfach mal aus undund Rennen und Katze Rennen so ich erwarte jetzt ich wünsche
- mir die Ausgabe der Hund rennt und als zweites Katze rennt schauen wir uns das mal genauso ist es dieser Aufruf erzeugt
- die Ausgabe hundren und dieser Aufruf erzeugt die Ausgabe Katze rent und ich wiederhole das noch mal und das obwohl sowohl Hund als auch Katze vom Typ
- Vierbeiner sind in der wir die Methode Rennen nur als abstrakt definiert haben das heißt wir haben hier keine Funktionalität irgendwie
- implementiert aber eben aufgrund der der Polymorphie ist das ist der Compiler so clever dass er eben hier dennoch die richtigen Methoden aufruft ja ein Wort
- noch warum wir das subtyping nennen ja wir haben hier Vierbeiner ja und Vierbeiner ist halt die Oberklasse der konkreten Vierbeiner Katze und
- Hund und deswegen nennen wir das subtyping weil eben Katze und Hund ein Untertyp von Vierbeiner ist vielen Dank fürs Zuhören bis zum nächsten Mal
Zum Nachlesen
Dynamische BindungDer Begriff dynamische Bindung (englisch dynamic binding) bezeichnet die verzögerte Bindung eines Namens an ein Objekt, das diesen Namen implementiert; …
ObjektorientierungUnter Objektorientierung (kurz OO) versteht man in der Softwaretechnik eine Sichtweise auf komplexe Systeme, bei der ein System durch das Zusammenspiel …
Vererbung (Programmierung)Die Vererbung dient dazu, aufbauend auf existierenden Klassen neue zu schaffen, wobei die Beziehung zwischen ursprünglicher und neuer Klasse dauerhaft ist. Eine …
Klasse (Objektorientierung)Die Klasse dient als Bauplan für die Abbildung von realen Objekten in Softwareobjekte und beschreibt Attribute (Eigenschaften) und Methoden (Verhaltensweisen) …