Unterschied zwischen früher und später Bindung

Schlüsseldifferenz - früh vs Late Binding
 

Early Binding und Late Binding sind zwei Konzepte, die sich auf Polymorphismus beziehen. Die frühe Bindung tritt zur Kompilierzeit auf, während die späte Bindung zur Laufzeit auftritt. Das Hauptunterschied zwischen Early und Late Binding ist das Early Binding verwendet die Klasseninformationen zum Auflösen von Methodenaufrufen, während Late Binding das Objekt zum Auflösen von Methodenaufrufen verwendet.

Programmiersprachen wie Java unterstützen Object Oriented Programming (OOP). Es ist ein Paradigma, das das Erstellen des Programms oder der Software anhand von Objekten ermöglicht. Die Software enthält mehrere Objekte. Diese Objekte sind miteinander verbunden und übermitteln Meldungen mit Methoden. Jedes Objekt hat Merkmale und Verhalten. Die Merkmale werden durch die Eigenschaften oder Attribute beschrieben. Die Verhaltensweisen werden anhand von Methoden beschrieben. Das Objekt Student kann Merkmale wie Name, Alter aufweisen und sie werden durch Eigenschaften dargestellt. Das Objekt Student kann Verhaltensweisen wie Lernen und Lesen aufweisen und wird durch Methoden dargestellt. Eine wichtige Säule von OOP ist der Polymorphismus. Dadurch kann sich ein Objekt auf verschiedene Arten verhalten. Frühe Bindung und späte Bindung sind zwei Konzepte im Polymorphismus. Überladungsmethoden werden durch frühes Binden gebunden. Überschriebene Methoden werden durch Spätbindung gebunden.

INHALT

1. Übersicht und Schlüsseldifferenz
2. Was ist frühe Bindung?
3. Was ist Late Binding?
4. Ähnlichkeiten zwischen früher und später Bindung
5. Side-by-Side-Vergleich - frühe vs. späte Bindung in tabellarischer Form
6. Zusammenfassung

Was ist frühe Bindung??

In Early Binding werden die Klasseninformationen zum Auflösen von Methodenaufrufen verwendet. Die frühe Bindung tritt zur Kompilierzeit auf. Es wird auch als statische Bindung bezeichnet. In diesem Prozess erfolgt die Bindung, bevor das Programm tatsächlich ausgeführt wird. Überladungsmethoden werden durch frühes Binden gebunden. Siehe das untenstehende Programm.

Abbildung 01: Berechnungsklasse

Abbildung 02: Hauptprogramm für frühes Binden

Gemäß dem obigen Programm enthält die Klasse Calculation eine add-Methode, die zwei ganzzahlige Werte akzeptiert, und eine weitere add-Methode, die zwei doppelte Werte akzeptiert. Im Hauptprogramm wird ein Objekt vom Typ Berechnung angelegt. Wenn Sie zwei Ganzzahlen an die add-Methode übergeben, ruft sie die add-Methode auf, die zwei Ganzzahlen akzeptiert. Wenn zwei doppelte Werte an die add-Methode übergeben werden, ruft sie die Methode auf, die zwei doppelten Werten entspricht. Dieser Bindungsprozess findet zur Kompilierungszeit statt. Alle erforderlichen Informationen sind vor der Laufzeit bekannt, wodurch die Programmeffizienz und die Ausführungsgeschwindigkeit erhöht werden.

Was ist Late Binding??

In Late Binding wird das Objekt zum Auflösen von Methodenaufrufen verwendet. Late Binding tritt zur Laufzeit auf. Es ist auch bekannt als Dynamische Bindung. In diesem Prozess erfolgt die Bindung bei der Programmausführung. Überschriebene Methoden werden durch Spätbindung gebunden. Siehe das untenstehende Programm.

Abbildung 03: Formklasse

Abbildung 04: Circle Class

Abbildung 05: Dreieck-Klasse

Abbildung 06: Hauptprogramm für Late Binding

Gemäß dem obigen Programm verfügt die Klasse Shape über eine Zeichenmethode. Class Circle und Class Triangle-Klasse erweitert die Shape-Klasse. Daher können diese beiden Klassen die Attribute und Methoden der Shape-Klasse erben. Shape Class ist die Basisklasse. Kreis- und Dreieckklassen sind abgeleitete Klassen. Die Klassen Circle und Class Triangle haben auch die Draw-Methode mit eigenen Implementierungen. Die Draw-Methode in der Shape-Klasse wird also von den Draw-Methoden der abgeleiteten Klassen überschrieben.

Im Hauptprogramm wird eine Referenzvariable vom Typ Shape angelegt. Bei der Kompilierung verweist der Compiler nur auf die Methode zum Ziehen der Basisklasse. Zur Laufzeit werden verschiedene Zeichenmethoden ausgeführt. Zunächst zeigt s auf das Objekt vom Typ Shape. Die Draw-Methode der Shape-Klasse wird aufgerufen. Dann zeigt das s auf das Objekt vom Typ Circle und ruft die Draw-Methode der Circle-Klasse auf. Schließlich wird s auf das Objekt vom Typ Triangle zeigen und die Draw-Methode in der Triangle-Klasse aufrufen. Die Methoden werden abhängig von den Objekten aufgerufen. Daher wird das Objekt zum Auflösen von Methodenaufrufen in Late Binding verwendet. Die für das Binden erforderlichen Informationen werden zur Laufzeit bereitgestellt, sodass die Ausführungsgeschwindigkeit im Vergleich zum frühen Binden langsamer ist.

Was ist die Ähnlichkeit zwischen früher Bindung und später Bindung?

  • Sowohl die frühe Bindung als auch die späte Bindung stehen im Zusammenhang mit dem Polymorphismus, der eine Säule der OOP darstellt.

Was ist der Unterschied zwischen früher Bindung und später Bindung?

Early Binding vs. Late Binding

Die Verwendung der Klasseninformationen zum Auflösen von Methodenaufrufen, die während der Kompilierung auftreten, wird als Early Binding bezeichnet. Die Verwendung des Objekts zum Auflösen des Methodenaufrufs, der zur Laufzeit auftritt, wird als Late Binding bezeichnet.
 Zeit der Bindung
Frühes Binden geschieht zur Kompilierzeit. Late Binding geschieht zur Laufzeit.
Funktionalität
Early Binding verwendet die Klasseninformationen, um den Methodenaufruf aufzulösen. Late Binding verwendet das Objekt, um den Methodenaufruf aufzulösen.
 Synonyme
Frühe Bindung wird auch als statische Bindung bezeichnet. Late Binding wird auch als dynamische Bindung bezeichnet.
Auftreten
Überladungsmethoden werden durch frühes Binden gebunden. Überschriebene Methoden werden durch Spätbindung gebunden.
Ausführungsgeschwindigkeit
Die Ausführungsgeschwindigkeit ist bei der frühen Bindung schneller. Die Ausführungsgeschwindigkeit ist bei der späten Bindung niedriger.

Zusammenfassung - früh vs Late Binding

OOP wird häufig für die Softwareentwicklung verwendet. Eine wichtige Säule von OOP ist der Polymorphismus. Early Binding und Late Binding hängen damit zusammen. Die frühe Bindung tritt zur Kompilierzeit auf, während die späte Bindung zur Laufzeit auftritt. Bei Methodenüberladung erfolgt das Bonden mit der frühen Bindung. Beim Überschreiben der Methode geschieht das Bonden mit dem Late Binding. Der Unterschied zwischen Early Binding und Late Binding besteht darin, dass Early Binding die Klasseninformationen zum Auflösen von Methodenaufrufen verwendet, während Late Binding das Objekt zum Auflösen von Methodenaufrufen verwendet.

Referenz:

1.Java Interview 04 - Statische Bindung gegen dynamische Bindung, Mahika Tutorials, 27. Dezember 2017. Hier verfügbar
2.Dynamic Method Dispatch in Java | Core Java Tutorial | Studieren heute Nacht. Hier verfügbar