Tidlig bindende og sen binding er to begreper relatert til polymorfisme. Den tidlige bindingen skjer ved kompileringstid mens senbindingen oppstår ved kjøring. De nøkkelforskjell mellom tidlig og sen binding er det Tidlig binding bruker klassen informasjon til å løse metoden ringer mens sen binding bruker objektet til å løse metoden ringer.
Programmeringsspråk som Java støtter Object Oriented Programming (OOP). Det er et paradigme som gjør det mulig å konstruere programmet eller programvaren ved hjelp av objekter. Det er flere objekter i programvaren. Disse objektene er koblet til hverandre og sender meldinger ved hjelp av metoder. Hvert objekt har egenskaper og atferd. Egenskapene er beskrevet av egenskapene eller attributter. Atferdene er beskrevet ved hjelp av metoder. Objektet Student kan ha egenskaper som navn, alder og de er representert av eiendommer. Objektet Student kan ha oppførsel som å studere og lese, og de er representert av metoder. En stor søyle av OOP er polymorfisme. Det tillater en gjenstand å oppføre seg på flere måter. Tidlig bindende og sen binding er to begreper i polymorfisme. Overbelastningsmetoder bindes ved tidlig binding. Overstyrte metoder bindes ved bruk av sen binding.
1. Oversikt og nøkkelforskjell
2. Hva er tidlig bindende
3. Hva er sen binding
4. Likheter mellom tidlig og sen binding
5. Side ved side sammenligning - Tidlig vs sen binding i tabellform
6. Sammendrag
I tidligbinding brukes klassen informasjon til å løse metoden ringer. Tidlig binding skjer ved kompileringstid. Det er også kjent som den statiske bindingen. I denne prosessen skjer bindingen før programmet kjører. Overbelastningsmetoder bindes ved tidlig binding. Se underprogrammet nedenfor.
Figur 01: Beregningsklasse
Figur 02: Hovedprogram for tidlig binding
I henhold til det ovennevnte programmet inneholder beregningsklassen en tilleggsmetode som aksepterer to heltallverdier og en annen tilleggsmetode som aksepterer to doble verdier. I hovedprogrammet opprettes et objekt av typen Beregning. Når du sender to heltall til add-metoden, vil den påkalle add-metoden som aksepterer to heltall. Når man overfører to doble verdier til add-metmetoden, vil den påkalle metoden som tilsvarer to doble verdier. Denne bindingsprosessen skjer ved kompileringstid. All nødvendig informasjon er kjent før kjøretid, slik at programmet øker programmets effektivitet og eksekveringshastighet.
Ved sen binding brukes objektet til å løse metoden. Sen Binding skjer ved kjøretid. Det er også kjent som dynamisk binding. I denne prosessen skjer bindingen ved programgjennomføring. Overstyrte metoder bindes ved bruk av sen binding. Se underprogrammet nedenfor.
Figur 03: Shape Class
Figur 04: Sirkelklasse
Figur 05: Triangle Class
Figur 06: Hovedprogram for sen binding
I henhold til det ovennevnte programmet har klasseformet tegningsmetode. Klassesirkel og klasse Triangle klasse utvider Shape-klassen. Derfor kan disse to klassene arve egenskapene og metodene til Shape-klassen. Shape Class er grunnklassen. Sirkel og triangel klasser er avledede klasser. Klassen Circle og Class Triangle har også tegnemetoden med egne implementeringer. Så er tegnemetoden i Shape-klassen overstyrt av tegningsmetodene til de avledede klassene.
I hovedprogrammet opprettes en referansevariabel s av typen Form. Ved kompileringstid, vil kompilatoren bare referere til grunnklassens tegningsmetode. Ved kjøretid vil forskjellige tegnemetoder utføres. Først vil s peke på objektet av typen Form. Så er tegningsmetoden for Shape-klassen påkalt. Så s vil peke på objektet av type Circle, og det vil påkalle draw-metoden for Circle-klassen. Til slutt vil s peke på objektet av typen Triangle, og det vil påberope tegnemetoden i Triangle-klassen. Metodene kalles avhengig av objektene. Derfor brukes objektet til å løse metoden som kalles sen binding. Informasjonen som kreves for binding, er gitt ved kjøretid, så hastigheten på utførelsen er langsommere sammenlignet med tidlig binding.
Tidlig bindende vs sen binding | |
Prosessen med å bruke klassen informasjon for å løse metoden ringer som oppstår på kompileringstid kalles Early Binding. | Prosessen med å bruke objektet for å løse metallsamtaler som oppstår ved kjøretid kalles senbinding. |
Bindingstidspunkt | |
Tidlig binding skjer ved kompileringstid. | Sen binding skjer i løpet av tiden. |
funksjonalitet | |
Tidlig bindende bruker klassen informasjon for å løse metoden ringer. | Late Binding bruker objektet til å løse metoden ringer. |
synonymer | |
Tidlig binding er også kjent som statisk bindende ... | Sen Binding er også kjent som dynamisk binding. |
Hendelse | |
Overbelastningsmetoder bindes ved tidlig binding. | Overstyrte metoder bindes ved bruk av sen binding. |
Utføringshastighet | |
Utførelseshastighet er raskere i tidlig binding. | Utførelseshastigheten er lavere i sen binding. |
OOP brukes ofte til programvareutvikling. En stor søyle av OOP er polymorfisme. Tidlig bindende og sen binding er relatert til det. Tidlig binding skjer på kompileringstid mens sen binding skjer i løpet av tiden. Ved overbelastning av metoden skjer bindingen ved tidlig binding. Ved overstyring av metoden skjer bindingen ved bruk av sen binding. Forskjellen mellom tidlig og sen binding er at tidlig binding bruker klassen informasjon til å løse metoden ringer mens sen binding bruker objektet til å løse metoden ringer.
1.Java Intervju 04 - Statisk Binding Vs Dynamisk Binding, Mahika Tutorials, 27. desember 2017. tilgjengelig her
2.Dynamic Method Dispatch i Java | Core Java Tutorial | Studytonight. tilgjengelig her