Nyckelskillnad - Tidig vs sen bindning
Tidig bindning och sen bindning är två begrepp relaterade till polymorfism. Den tidiga bindningen inträffar vid sammanställningstid medan den sena bindningen sker vid körning. Huvudskillnaden mellan tidig och sen bindning är att tidig bindning använder klassinformationen för att lösa metodanrop medan sen bindning använder objektet för att lösa metodanrop.
Programmeringsspråk som Java stöder Object Oriented Programming (OOP). Det är ett paradigm som gör det möjligt att konstruera programmet eller programvaran med hjälp av objekt. Det finns flera objekt i programvaran. Dessa objekt är kopplade till varandra och skickar meddelanden med hjälp av metoder. Varje objekt har egenskaper och beteenden. Egenskaperna beskrivs av egenskaperna eller attributen. Beteendena beskrivs med hjälp av metoder. Objektet Student kan ha egenskaper som namn, ålder och de representeras av egenskaper. Objektet Student kan ha beteenden som att studera och läsa, och de representeras av metoder. En viktig pelare i OOP är polymorfism. Det gör att ett objekt kan bete sig på flera sätt. Tidig bindning och sen bindning är två begrepp i polymorfism. Överbelastningsmetoder är bundna med tidig bindning. Överskridna metoder är bundna med sen bindning.
INNEHÅLL
1. Översikt och nyckelskillnad
2. Vad är tidig bindning
3. Vad är sen bindning
4. Likheter mellan tidig och sen bindning
5. Jämförelse sida vid sida - Tidig vs sen bindning i tabellform
6. Sammanfattning
Vad är tidig bindning?
I Early Binding används klassinformation för att lösa metodanrop. Tidig bindning sker vid sammanställningstid. Det är också känt som den statiska bindningen. I den här processen sker bindningen innan programmet faktiskt körs. Metoder för överbelastning är bundna med tidig bindning. Se nedanstående program.
Figur 01: Beräkningsklass
Figur 02: Huvudprogram för tidig bindning
Enligt ovanstående program innehåller beräkningsklassen en add-metod som accepterar två heltal och en annan add-metod som accepterar två dubbla värden. I huvudprogrammet skapas ett objekt av typen Beräkning. När du skickar två heltal till add-metoden kommer den att anropa add-metoden som accepterar två heltal. När du skickar två dubbla värden till add-metoden kommer den att anropa metoden som motsvarar två dubbla värden. Denna bindningsprocess sker vid sammanställningstid. All nödvändig information är känd före körning, så det ökar programeffektiviteten och körningshastigheten.
Vad är sen bindning?
I sen bindning används objektet för att lösa metodanrop. Sen bindning sker vid körning. Det är också känt som dynamisk bindning. I denna process sker bindningen vid programkörning. Överskridna metoder är bundna med sen bindning. Se nedanstående program.
Figur 03: Formklass
Figur 04: Cirkelklass
Figur 05: Triangelklass
Figur 06: Huvudprogram för sen bindning
Enligt ovanstående program har klassform en ritningsmetod. Klasscirkel och klass triangelklass utökar formklassen. Därför kan dessa två klasser ärva attributen och metoderna för Shape-klassen. Shape Class är basklassen. Cirkel- och triangelklasser är härledda klasser. Klasscirkeln och klass triangeln har också dragmetoden med sina egna implementeringar. Så ritningsmetoden i formklassen åsidosätts av ritningsmetoderna för de härledda klasserna.
I huvudprogrammet skapas en referensvariabel s av typen Shape. Vid sammanställning hänvisar kompilatorn endast basklassdragningsmetoden. Vid körning kommer olika ritningsmetoder att köras. Först kommer s att peka på objektet av typen Shape. Så åkallningsmetoden för formklass åberopas. Då pekar s på objektet av typen Circle och det åberopar ritningsmetoden för Circle class. Slutligen kommer s att peka på objektet av typen Triangle, och det kommer att åberopa ritningsmetoden i triangelklassen. Metoderna anropas beroende på objekten. Därför används objektet för att lösa metodanrop i sen bindning. Den information som krävs för bindning tillhandahålls vid körning, så körningshastigheten är långsammare jämfört med tidig bindning.
Vad är likheten mellan tidig bindning och sen bindning?
Både tidig bindning och sen bindning är relaterade till polymorfism som är en pelare i OOP
Vad är skillnaden mellan tidig bindning och sen bindning?
Skilja artikeln mitt före bordet
Tidig bindning vs sen bindning |
|
Processen med att använda klassinformation för att lösa metodanrop som sker vid sammanställningstid kallas Early Binding. | Processen med att använda objektet för att lösa metodanrop som sker vid körning kallas för sen bindning. |
Bindningstid | |
Tidig bindning sker vid sammanställningstid. | Sen bindning sker vid körning. |
Funktionalitet | |
Early Binding använder klassinformation för att lösa metodanrop. | Sen bindning använder objektet för att lösa metodanrop. |
Synonymer | |
Tidig bindning är också känd som statisk bindning.. | Senbindning är också känd som dynamisk bindning. |
Förekomst | |
Metoder för överbelastning är bundna med tidig bindning. | Överskridna metoder är bundna med sen bindning. |
Körningshastighet | |
Körningshastigheten är snabbare vid tidig bindning. | Körningshastigheten är lägre vid sen bindning. |
Sammanfattning - Tidig vs sen bindning
OOP används ofta för mjukvaruutveckling. En viktig pelare i OOP är polymorfism. Tidig bindning och sen bindning är relaterade till det. Tidig bindning sker vid kompileringstid medan sen bindning sker vid körning. Vid metodöverbelastning sker bindningen med tidig bindning. Vid metodöverstyrning sker bindningen med sen bindning. Skillnaden mellan tidig och sen bindning är att tidig bindning använder klassinformation för att lösa metodanrop medan sen bindning använder objektet för att lösa metodanrop.