Warum ist die dynamische Bindung bei der Implementierung von Polymorphismus wichtig?
Warum ist die dynamische Bindung bei der Implementierung von Polymorphismus wichtig?

Video: Warum ist die dynamische Bindung bei der Implementierung von Polymorphismus wichtig?

Video: Warum ist die dynamische Bindung bei der Implementierung von Polymorphismus wichtig?
Video: C++ Grundlagen Tutorial #026 Polymorphismus und pure virtuelle Methoden 2024, Kann
Anonim

Dynamische Bindung ermöglicht die Auflösung eines Memberfunktionsaufrufs zur Laufzeit gemäß dem Laufzeittyp einer Objektreferenz. Dadurch kann jede benutzerdefinierte Klasse in einer Vererbungshierarchie eine andere Implementierung einer bestimmten Funktion.

Vor diesem Hintergrund, was ist Polymorphismus, um die Rolle der dynamischen Bindung bei der Implementierung von Polymorphismus zu erklären?

Das nennen wir statisch Bindung : das Bindung der Namen passieren zur Kompilierzeit (d. h. statisch). Ein solcher Mechanismus heißt Dynamische Bindung : das Bindung von Namen zu einem Implementierung geschieht zur Laufzeit (d. h. dynamisch ). Dynamische Bindung ist für objektorientierte Programmiersprachen notwendig, um Polymorphismus implementieren.

Ebenso, was ist die Verwendung von dynamischer Bindung? Statisch Bindung verwendet Typinformationen (Klasse in Java) für Bindung während Dynamische Bindung verwendet Objekt zum Auflösen Bindung . Überlastete Methoden werden statisch verklebt Bindung während überschriebene Methoden verbunden werden mit Dynamische Bindung zur Laufzeit.

Anschließend stellt sich die Frage, ob ein dynamischer Bindungspolymorphismus vorliegt.

Polymorphismus in Java gibt es zwei Arten: Kompilierzeit Polymorphismus (statisch Bindung ) und Laufzeit Polymorphismus ( Dynamische Bindung ). Ein wichtiges Beispiel für Polymorphismus ist, wie eine Elternklasse auf ein Kindklassenobjekt verweist. Tatsächlich ist jedes Objekt, das mehr als eine IS-A-Beziehung erfüllt, polymorph in der Natur.

Wie nützlich ist die dynamische Bindung in oops?

Dynamische Bindung wird durch virtuelle Funktionen erreicht. Der Basisklassenzeiger zeigt auf das abgeleitete Klassenobjekt. Und eine Funktion wird in der Basisklasse als virtuell deklariert, dann wird die passende Funktion zur Laufzeit unter Verwendung eines virtuellen Tabelleneintrags identifiziert. Wie werden Elemente in einem übergeben? objektorientierten Programmiersprache ( OOP )?

Empfohlen: