Zum Inhalt springen
L

Das Video kommt von YouTube: erst beim Abspielen verbindet sich die Seite mit YouTube (Google).

Was ist Polymorphie in Java?

Kim Peter Mesenhöller5:43 46.208 Aufrufe veröffentlicht Auf YouTube

Das Wichtigste aus dem Video

Tipp auf eine Zeit – das Video springt genau dorthin.

Transkriptautomatisch erstellt · 31 Zeilen
Herunterladen
  1. ja hallo zusammen in diesem Video möchte ich euch gerne einen Fachbegriff erklären der immer wieder im Zusammenhang mit objektorientierter
  2. Programmierung vorkommt und zwar der Begriff der Polymorphie hierbei beschränke ich mich allerdings auf die Sprache
  3. 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
  4. eine einem konkreten Beispiel und zwar basiert subtyping bzw eben die Polymorphie wie sie in Java abgebildet wird auf einer
  5. Vererbungshierarchie und zwar habe ich ein beginne ich bei einem abstrakten Objekt mein wegen der Vierbeiner und von diesem Vierbeiner
  6. kann ich dann konkrete vier Beine ableiten wie z.B eine ein Hund oder eine Katze und wie
  7. das geht das haben wir schon gelernt und zwar über das Schlüsselwort extend kann ich jetzt einfach sagen
  8. Vierbeiner und in dieser Vierbeiner Klasse die ich hier einbinde habe ich eine Methode abstrakt definiert die ein
  9. Standardverhalten beschreibt denn nämlich jeder Vierbeiner kann Rennen und das ist auch der Grund weshalb ich hier einen roten Strich bzw einen
  10. Fehler habe weil nämlich ich dadurch dass ich eben in dieser Vierbeiner Klasse die rennmethode abstrakt definiert habe bin ich gezwungen diese
  11. hier einzubinden also diese rennmethode muss in jedem Objekt BZ in jeder Klasse die ich von Vierbeiner ableite enthalten sein
  12. 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
  13. rein system out
  14. printline Hund rent ja und das gleiche das mache ich jetzt auch mit einer
  15. Katze xtens vier Beine
  16. und unimplanted methods und hier schreibe ich jetzt rein System
  17. out.print line Karte
  18. rent so und jetzt kommt der Begriff Polymorphie ins Spiel nämlich ich schreibe jetzt hier eine
  19. Klasse zum Testen und zwar lege ich hier eine Instanz von Vierbeiner an und zwar einmal ein
  20. Hund mit einem hundeobjekt und ein Vierbeiner Katze mit einem
  21. katzenobjekt das funktioniert weil eben jeder Hund eine konkrete Implementierung eines Vierbeiners ist genauso wie eine
  22. 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
  23. Katze Aufrufe die rennmethode von der Klasse Katze aufgerufen wird und bei dem Aufruf ein der rennmethode bei einem
  24. hundeobjekt die rennmethode aus der Klasse Hund aufgerufen wird und das und das ist der wichtige Punkt das obwohl meine
  25. 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
  26. mir die Ausgabe der Hund rennt und als zweites Katze rennt schauen wir uns das mal genauso ist es dieser Aufruf erzeugt
  27. 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
  28. Vierbeiner sind in der wir die Methode Rennen nur als abstrakt definiert haben das heißt wir haben hier keine Funktionalität irgendwie
  29. 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
  30. noch warum wir das subtyping nennen ja wir haben hier Vierbeiner ja und Vierbeiner ist halt die Oberklasse der konkreten Vierbeiner Katze und
  31. 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