Heim > Java > javaLernprogramm > Hauptteil

Überlappende Methoden unterstützen Polymorphismus

DDD
Freigeben: 2024-09-18 22:53:53
Original
604 Leute haben es durchsucht

Methodenüberlagerung:

  • Es ist nicht nur eine Frage der Benennung, sondern eine grundlegende Funktion in Java.

  • Es basiert auf dem Konzept des dynamischen Methodenversands.

Dynamischer Methodenversand:

  • Es ist der Mechanismus, durch den der Aufruf einer überschreibenden Methode zur Laufzeit und nicht zur Kompilierungszeit aufgelöst wird.

  • Ermöglicht die Implementierung von Polymorphismus in Java.

Wie es funktioniert:

  • Eine Oberklassen-Referenzvariable kann auf ein Unterklassenobjekt verweisen.

  • Wenn eine überschriebene Methode über eine Superklassenreferenz aufgerufen wird, wird die Version der auszuführenden Methode basierend auf dem Typ des Objekts zum Zeitpunkt des Aufrufs bestimmt.

  • Daher erfolgt die Auswahl der auszuführenden Methode zur Laufzeit.

Wichtigkeit:

  • Der Typ des referenzierten Objekts (nicht der Typ der Referenzvariable) bestimmt, welche Version der überschriebenen Methode ausgeführt wird.

  • Dadurch können verschiedene Arten von Objekten, auf die durch eine Referenzvariable der Oberklasse verwiesen wird, verschiedene Versionen der überschriebenen Methode aufrufen.

Métodos sobrepostos dão suporte ao polimorfismo

Métodos sobrepostos dão suporte ao polimorfismo

Programmstruktur:

  • Superklasse: Sup, mit der who()-Methode.

  • Unterklassen: Sub1 und Sub2, beide überschreiben die who()-Methode.

Ausführung in main():

  • Erstellung der Objekte superOb (Typ Sup), subOb1 (Typ Sub1) und subOb2 (Typ Sub2).

  • Eine Referenzvariable supRef vom Typ Sup wird verwendet, um auf die verschiedenen Objekte zu verweisen.

Verhalten:

  • Der Aufruf von supRef.who() bestimmt die Version der auszuführenden Methode basierend auf dem Typ des Objekts, auf das zum Zeitpunkt des Aufrufs verwiesen wurde, nicht auf dem Typ der Referenzvariablen supRef.

Programmausgabe:

  • Je nach Typ des referenzierten Objekts (superOb, subOb1 oder subOb2) wird die entsprechende Version der who()-Methode aufgerufen und angezeigt.

  • Dies demonstriert das Konzept des dynamischen Versands, bei dem die ausgeführte Methode zur Laufzeit entschieden wird, was die Implementierung von Polymorphismus ermöglicht.

Das obige ist der detaillierte Inhalt vonÜberlappende Methoden unterstützen Polymorphismus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!