Frühe Bindung und verspätete Bindung sind zwei Konzepte im Zusammenhang mit Polymorphismus. Die frühe Bindung erfolgt zur Kompilierungszeit, während die verspätete Bindung zur Laufzeit erfolgt. Der Schlüsselunterschied Zwischen der frühen und späten Bindung ist das Frühe Bindung verwendet die Klasseninformationen, um das Aufrufen der Methode zu beheben.
Programmiersprachen wie Java unterstützt die objektorientierte Programmierung (OOP). Es ist ein Paradigma, das das Erstellen des Programms oder die Software mit Objekten ermöglicht. Es gibt mehrere Objekte in der Software. Diese Objekte sind miteinander verbunden und übergeben Nachrichten mithilfe von Methoden. Jedes Objekt hat Eigenschaften und Verhaltensweisen. Die Eigenschaften werden durch die Eigenschaften oder Attribute beschrieben. Die Verhaltensweisen werden mit Methoden beschrieben. Der Objektstudent kann Eigenschaften wie Name, Alter haben und sie werden durch Eigenschaften dargestellt. Der Objektstudent kann Verhaltensweisen wie Studien und Lesen haben und werden durch Methoden dargestellt. Eine Hauptsäule von OOP ist der Polymorphismus. Es ermöglicht ein Objekt, sich auf verschiedene Arten zu verhalten. Frühe Bindung und verspätete Bindung sind zwei Konzepte im Polymorphismus. Überladungsmethoden werden unter Verwendung einer frühen Bindung gebunden. Überschriebene Methoden werden unter Verwendung einer verspäteten Bindung gebunden.
1. Überblick und wichtiger Unterschied
2. Was ist früh Bindung
3. Was ist verspätete Bindung
4. Ähnlichkeiten zwischen früher und verspäteter Bindung
5. Seite an Seite Vergleich - frühe vs späte Bindung in tabellarischer Form
6. Zusammenfassung
Bei der frühen Bindung werden die Klasseninformationen verwendet, um die Methode aufzurufen. Frühe Bindung tritt zur Kompilierungszeit auf. Es ist auch als statische Bindung bekannt. In diesem Prozess erfolgt die Bindung, bevor das Programm tatsächlich ausgeführt wird. Überladungsmethoden werden unter Verwendung einer frühen Bindung gebunden. Verweisen Sie das folgende Programm.
Abbildung 01: Berechnungsklasse
Abbildung 02: Hauptprogramm zur frühen Bindung
Gemäß dem obigen Programm enthält die Berechnungsklasse eine Methode hinzufügen, die zwei Ganzzahlwerte und eine andere Add -Methode akzeptiert, die zwei Doppelwerte akzeptiert. Im Hauptprogramm wird ein Objekt der Typberechnung erstellt. Wenn Sie zwei Ganzzahlen an die Methode hinzufügen, werden die Methode hinzufügen, die zwei Ganzzahlen akzeptiert. Wenn Sie zwei Doppelwerte an die Methode hinzufügen übergeben, wird die Methode aufgerufen, die zwei Doppelwerten entspricht. Dieser Bindungsprozess erfolgt zur Kompilierungszeit. Alle erforderlichen Informationen sind vor der Laufzeit bekannt. Daher erhöht sich die Programmeffizienz und Ausführungsgeschwindigkeit.
In verspäteter Bindung wird das Objekt verwendet, um das Aufrufen der Methode aufzulösen. Die späte Bindung erfolgt zur Laufzeit. Es ist auch als bekannt als Dynamische Bindung. In diesem Prozess erfolgt die Bindung bei der Programmausführung. Überschriebene Methoden werden unter Verwendung einer verspäteten Bindung gebunden. Verweisen Sie das folgende Programm.
Abbildung 03: Formklasse
Abbildung 04: Kreisklasse
Abbildung 05: Dreiecksklasse
Abbildung 06: Hauptprogramm für verspätete Bindung
Nach dem obigen Programm hat die Klassenform eine Ziehmethode. Klassenkreis und Klassendreiecksklasse erweitert die Formklasse. Daher können diese beiden Klassen die Attribute und Methoden der Formklasse erben. Die Formklasse ist die Basisklasse. Kreis- und Dreiecksklassen sind abgeleitete Klassen. Das Klassenkreis und das Klassendreieck haben auch die Ziehmethode mit ihren eigenen Implementierungen. Die Draw -Methode in der Formklasse wird also durch die Ziehmethoden der abgeleiteten Klassen überschrieben.
Im Hauptprogramm wird eine Referenzvariable der Typform erstellt. Zum Kompilierungszeit verweist der Compiler nur die Methode der Basisklassen -Zeichnung. Zur Laufzeit werden verschiedene Ziehmethoden ausgeführt. Erstens verweist S auf das Objekt der Typformform. Die Zeichnungsmethode der Formklasse wird also aufgerufen. Dann verweist die S auf das Objekt vom Typ Kreis und ruft die Draw -Methode der Kreisklasse auf. Schließlich verweist S auf das Objekt des Typdreiecks und ruft die Draw -Methode in der Dreiecksklasse auf. Die Methoden werden abhängig von den Objekten aufgerufen. Daher wird das Objekt verwendet, um die Verspätungsbindung aufzuklären. Die für die Bindung erforderlichen Informationen werden zur Laufzeit bereitgestellt, sodass die Ausführungsgeschwindigkeit im Vergleich zur frühen Bindung langsamer ist.
Frühe Bindung gegen verspätete Bindung | |
Der Prozess der Verwendung der Klasseninformationen, um die zum Kompilierzeit auftretende Methodenaufrufe zu beheben, wird als frühe Bindung bezeichnet. | Der Prozess der Verwendung des Objekts zur Auflösungsmethode, die zur Laufzeit auftritt, wird als verspätete Bindung bezeichnet. |
Zeit der Bindung | |
Frühe Bindung erfolgt zur Kompilierungszeit. | Die späte Bindung erfolgt zur Laufzeit. |
Funktionalität | |
Frühe Bindung verwendet die Klasseninformationen, um die Aufrufmethode aufzurufen. | Die späte Bindung verwendet das Objekt, um das Aufrufen der Methode aufzurufen. |
Synonyme | |
Frühe Bindung ist auch als statische Bindung bekannt… | Die späte Bindung wird auch als dynamische Bindung bezeichnet. |
Auftreten | |
Überladungsmethoden werden unter Verwendung einer frühen Bindung gebunden. | Überschriebene Methoden werden unter Verwendung einer verspäteten Bindung gebunden. |
Ausführungsgeschwindigkeit | |
Die Ausführungsgeschwindigkeit ist bei der frühen Bindung schneller. | Die Ausführungsgeschwindigkeit ist in der späten Bindung niedriger. |
OOP wird häufig für die Softwareentwicklung verwendet. Eine Hauptsäule von OOP ist der Polymorphismus. Frühe Bindung und verspätete Bindung hängen damit zusammen. Eine frühe Bindung erfolgt zur Kompilierungszeit, während die verspätete Bindung zur Laufzeit auftritt. Bei der Überlastung der Methode erfolgt die Bindung unter Verwendung der frühen Bindung. Bei der Überschreitung der Methode erfolgt die Bindung unter Verwendung der verspäteten Bindung. Der Unterschied zwischen früher und verspäteter Bindung besteht darin, dass die frühe Bindung die Klasseninformationen verwendet, um die Methode aufzurufen, während die verspätete Bindung das Objekt verwendet, um die Methode aufzurufen.
1.Java -Interview 04 - statische Bindung gegen dynamische Bindung, Mahika Tutorials, 27. Dezember. 2017. Hier verfügbar
2.Dynamische Methode Sendung in Java | Kern -Java -Tutorial | Studytonight. Hier verfügbar