Belangrijkste verschil - vroege versus late binding
Early Binding en Late Binding zijn twee concepten die verband houden met polymorfisme. De vroege binding vindt plaats tijdens het compileren, terwijl de late binding plaatsvindt tijdens runtime. Het belangrijkste verschil tussen Early en Late Binding is dat Early Binding de klasse-informatie gebruikt om methodeaanroepen op te lossen, terwijl Late Binding het object gebruikt om methodeaanroepen op te lossen.
Programmeertalen zoals Java ondersteunen Object Oriented Programming (OOP). Het is een paradigma waarmee het programma of de software met behulp van objecten kan worden geconstrueerd. Er zijn meerdere objecten in de software. Deze objecten zijn met elkaar verbonden en geven via methoden berichten door. 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 deze worden weergegeven door eigenschappen. Het object Student kan gedrag vertonen zoals studeren en lezen, en ze worden vertegenwoordigd door methoden. Een belangrijke pijler van OOP is polymorfisme. Het stelt een object in staat zich op meerdere manieren te gedragen. Early Binding en Late Binding zijn twee concepten in polymorfisme. Overbelastingsmethoden worden gebonden met behulp van vroege binding. Overschreven methoden worden gebonden door middel van late binding.
INHOUD
1. Overzicht en belangrijkste verschil
2. Wat is vroege 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 vroege binding?
In Early Binding wordt de klasse-informatie gebruikt om methodeaanroepen op te lossen. Early Binding vindt plaats tijdens het compileren. Het wordt ook wel de statische binding genoemd. 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 Calculation een add-methode die twee gehele waarden accepteert en een andere add-methode die twee dubbele waarden accepteert. In het hoofdprogramma wordt een object van het type Berekening gemaakt. Bij het doorgeven van twee gehele getallen aan de add-methode, wordt de add-methode aangeroepen die twee gehele getallen accepteert. Bij het doorgeven van twee dubbele waarden aan de add-methode, wordt de methode aangeroepen die overeenkomt met twee dubbele waarden. Dit bindingsproces vindt plaats tijdens het compileren. Alle vereiste informatie is bekend vóór runtime, dus het verhoogt de programma-efficiëntie en uitvoeringssnelheid.
Wat is late binding?
In Late Binding wordt het object gebruikt om methodeaanroepen op te lossen. Late binding vindt plaats tijdens runtime. Het wordt ook wel dynamische binding genoemd. In dit proces vindt de binding plaats tijdens de uitvoering van het programma. Overschreven methoden worden gebonden door middel van late binding. Raadpleeg het onderstaande programma.
Figuur 03: Vormklasse
Figuur 04: Circle Class
Figuur 05: Triangle Class
Figuur 06: Hoofdprogramma voor late binding
Volgens het bovenstaande programma heeft klasse Shape een tekenmethode. Class Circle en Class Triangle vormen een uitbreiding van de Shape-klasse. Daarom kunnen deze twee klassen de attributen en methoden van de Shape-klasse erven. Shape Class is de basisklasse. Circle en Triangle klassen zijn afgeleide klassen. De klasse Circle en class Triangle hebben ook de tekenmethode met hun eigen implementaties. De tekenmethode in de klasse Shape 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 tekenmethode van de basisklasse. Tijdens runtime worden verschillende tekenmethoden uitgevoerd. Ten eerste wijst s naar het object van het type Shape. Dus de tekenmethode van de klasse Shape wordt aangeroepen. Dan zullen de s naar het object van het type Circle wijzen, en het zal de tekenmethode van Circle class aanroepen. Ten slotte wijst s naar het object van het type Triangle, en roept het de draw-methode in de Triangle-klasse aan. De methoden worden aangeroepen afhankelijk van de objecten. Daarom wordt het object gebruikt om methodeaanroepen in Late Binding op te lossen. De informatie die nodig is voor het binden, wordt tijdens runtime verstrekt, dus de snelheid van uitvoering is langzamer in vergelijking met vroege binding.
Wat is de overeenkomst tussen vroege binding en late binding?
Zowel vroege binding als late binding zijn gerelateerd aan polymorfisme dat een pijler is van OOP
Wat is het verschil tussen vroege binding en late binding?
Diff Artikel Midden voor Tafel
Vroege binding versus late binding |
|
Het proces waarbij de klasse-informatie wordt gebruikt om methodeaanroepen op te lossen die tijdens het compileren plaatsvinden, wordt Early Binding genoemd. | Het proces waarbij het object wordt gebruikt om methodeaanroepen op te lossen die tijdens runtime plaatsvinden, wordt de Late Binding genoemd. |
Tijdstip van binding | |
Early Binding vindt plaats tijdens het compileren. | Late binding gebeurt tijdens runtime. |
Functionaliteit | |
Early Binding gebruikt de klasse-informatie om methodeaanroepen op te lossen. | Late Binding gebruikt het object om methodeaanroepen op te lossen. |
Synoniemen | |
Early Binding wordt ook wel statisch binden genoemd. | Late binding wordt ook wel dynamische binding genoemd. |
Voorval | |
Overbelastingsmethoden worden gebonden met behulp van vroege binding. | Overschreven methoden worden gebonden door middel van late binding. |
Uitvoeringssnelheid | |
De uitvoeringssnelheid is hoger bij vroege binding. | De uitvoersnelheid is lager bij late binding. |
Samenvatting - Vroege versus late binding
OOP wordt vaak gebruikt voor softwareontwikkeling. Een belangrijke pijler van OOP is polymorfisme. Early Binding en Late Binding zijn daarmee verwant. Early Binding vindt plaats tijdens het compileren, terwijl Late Binding plaatsvindt tijdens runtime. Bij overbelasting van de methode gebeurt de binding met behulp van de vroege binding. Bij het overschrijven van de methode gebeurt de binding met behulp van de late binding. Het verschil tussen Early en Late Binding is dat Early Binding de klasse-informatie gebruikt om methodeaanroepen op te lossen, terwijl Late Binding het object gebruikt om methodeaanroepen op te lossen.