Verschil tussen vroege en late binding

Belangrijkste verschil - vroeg vs Late Binding
 

Early Binding en Late Binding zijn twee concepten met betrekking tot polymorfisme. De vroege binding vindt plaats tijdens het compileren, terwijl de late binding plaatsvindt tijdens runtime. De belangrijk verschil tussen vroege en late binding is dat Early Binding maakt gebruik van de klasse-informatie om de methode aan te roepen terwijl Late Binding het object gebruikt om het oproepen van de methode op te lossen.

Programmeertalen zoals Java ondersteunen Object Oriented Programming (OOP). Het is een paradigma waarmee het programma of de software kan worden geconstrueerd met behulp van objecten. Er zijn meerdere objecten in de software. Deze objecten zijn met elkaar verbonden en verzenden berichten met behulp van methoden. Elk object heeft kenmerken en gedragingen. De kenmerken worden beschreven door de eigenschappen of attributen. Het gedrag wordt beschreven met behulp van methoden. Het object Student kan kenmerken hebben zoals naam, leeftijd en ze worden weergegeven door eigenschappen. Het object Student kan gedrag vertonen zoals studeren en lezen, en ze worden weergegeven met methoden. Een belangrijke pijler van OOP is polymorfisme. Hiermee kan een object zich op verschillende manieren gedragen. Early Binding en Late Binding zijn twee concepten in het polymorfisme. Overbelastingsmethoden worden gebonden met behulp van vroege binding. Overbrugde methoden worden gebonden met behulp van late binding.

INHOUD

1. Overzicht en belangrijkste verschil
2. Wat is Early Binding
3. Wat is Late Binding
4. Overeenkomsten tussen vroege en late binding
5. Vergelijking zij aan zij - vroege versus late binding in tabelvorm
6. Samenvatting

Wat is Early Binding?

In Early Binding wordt de klasseninformatie gebruikt om het oproepen van methoden op te lossen. Early Binding vindt plaats tijdens het compileren. Het is ook bekend als de statische binding. In dit proces vindt de binding plaats voordat het programma daadwerkelijk wordt uitgevoerd. Overbelastingsmethoden worden gebonden met behulp van vroege binding. Raadpleeg het onderstaande programma.

Figuur 01: Berekeningsklasse

Figuur 02: Hoofdprogramma voor vroege binding

Volgens het bovenstaande programma bevat de klasse Berekening een invoegmethode die twee geheel-getalwaarden accepteert en een andere invoermethode die twee dubbele waarden accepteert. In het hoofdprogramma wordt een object van typeberekening gemaakt. Wanneer u twee gehele getallen doorgeeft aan de methode voor toevoegen, wordt de methode add aangeroepen die twee gehele getallen accepteert. Wanneer u twee dubbele waarden doorgeeft aan de methode voor toevoegen, wordt de methode aangeroepen die overeenkomt met twee dubbele waarden. Dit bindproces vindt plaats tijdens het compileren. Alle vereiste informatie is vóór runtime bekend, dus dit verhoogt de efficiëntie en de uitvoeringssnelheid van het programma.

Wat is Late Binding?

In Late Binding wordt het object gebruikt om het oproepen van methoden op te lossen. Late Binding vindt plaats tijdens runtime. Het is ook bekend als dynamische binding. In dit proces vindt de binding plaats bij de uitvoering van het programma. Overbrugde methoden worden gebonden met behulp van late binding. Raadpleeg het onderstaande programma.

Figuur 03: Shape Class

Figuur 04: Circle Class

Afbeelding 05: Triangle Class

Figuur 06: Hoofdprogramma voor te late binding

Volgens het bovenstaande programma heeft klasse Shape een tekenmethode. Class Circle en klasse Triangle-klasse breiden de klasse Shape uit. Daarom kunnen deze twee klassen de kenmerken en methoden van de klasse Shape overnemen. Shape Class is de basisklasse. Cirkel- en driehoeksklassen zijn afgeleide klassen. De klasse Circle en de Class Triangle hebben ook de tekenmethode met hun eigen implementaties. De tekenmethode in Shape-klasse wordt dus overschreven door de tekenmethoden van de afgeleide klassen.

In het hoofdprogramma wordt een referentievariabele s van het type Shape gemaakt. Tijdens het compileren verwijst de compiler alleen naar de basisklasse-tekenmethode. Tijdens runtime worden verschillende tekenmethoden uitgevoerd. Eerst wijst s naar het object van het type Shape. Dus de tekenmethode van Shape-klasse wordt aangeroepen. Dan zal de s naar het object van het type Circle wijzen en het zal de tekenmethode van de Circle-klasse aanroepen. Ten slotte verwijst s naar het object van het type Driehoek en wordt de tekenmethode in de Triangle-klasse aangeroepen. De methoden worden genoemd afhankelijk van de objecten. Daarom wordt het object gebruikt om de methode op te lossen in Late Binding. De informatie die nodig is voor binding wordt tijdens runtime verstrekt, dus de snelheid van uitvoering is langzamer vergeleken met vroege binding.

Wat is de gelijkenis tussen vroege binding en late binding?

  • Zowel Early Binding als Late Binding zijn gerelateerd aan polymorfisme dat een pijler is van OOP.

Wat is het verschil tussen vroege binding en te late binding?

Early Binding vs. Late Binding

Het proces van het gebruiken van de klasseninformatie om het oproepen van de methode op te lossen die optreedt tijdens het compileren, wordt Early Binding genoemd. Het proces van het gebruiken van het object om op te lossen methode aanroepen dat optreedt tijdens runtime wordt de late binding genoemd.
 Tijd van binding
Early Binding gebeurt tijdens het compileren. Late binding vindt tijdens runtime plaats.
functionaliteit
Early Binding gebruikt de klasse-informatie om het oproepen van de methode op te lossen. Late Binding gebruikt het object om het oproepen van de methode op te lossen.
 Synoniemen
Early Binding is ook bekend als statische binding ... Late Binding is ook bekend als dynamische binding.
voorval
Overbelastingsmethoden worden gebonden met behulp van vroege binding. Overbrugde methoden worden gebonden met behulp van late binding.
Uitvoersnelheid
Uitvoersnelheid is sneller bij vroege binding. De uitvoeringssnelheid is lager bij late binding.

Samenvatting - Vroeg vs Late Binding

OOP wordt vaak gebruikt voor softwareontwikkeling. Een belangrijke pijler van OOP is polymorfisme. Early Binding en Late Binding houden daar verband mee. Early Binding vindt plaats tijdens het compileren, terwijl late binding plaatsvindt tijdens runtime. Bij overbelasting van de methode gebeurt de binding met de vroege binding. Bij het overschrijven van de methode gebeurt de binding met de late binding. Het verschil tussen vroege en late binding is dat Early Binding de klasse-informatie gebruikt om de methode aan te roepen terwijl Late Binding het object gebruikt om de methode op te lossen..

Referentie:

1.Java Interview 04 - Statische binding versus dynamische binding, Mahika Tutorials, 27 december 2017. Beschikbaar Hier
2.Dynamische methode verzenden in Java | Core Java-zelfstudie | Studytonight. Beschikbaar Hier