Innehållsförteckning:
- Nyckelskillnad - Statisk bindning mot dynamisk bindning
- Vad är statisk bindning?
- Vad är dynamisk bindning?
- Vad är likheten mellan statisk bindning och dynamisk bindning?
- Vad är skillnaden mellan statisk bindning och dynamisk bindning?
- Sammanfattning - Statisk bindning vs dynamisk bindning
Video: Skillnaden Mellan Statisk Bindning Och Dynamisk Bindning
2024 Författare: Mildred Bawerman | [email protected]. Senast ändrad: 2023-12-16 08:42
Nyckelskillnad - Statisk bindning mot dynamisk bindning
Programmeringsspråk som Java och C # stöder Object Oriented Programming (OOP). Det gör det möjligt att bygga programvara med objekt. Det finns många objekt i ett mjukvarusystem eller ett program. Dessa objekt har attribut och metoder. Attribut beskriver egenskaperna. Metoder beskriver de åtgärder som kan utföras av objektet. Data skickas genom objekt med hjälp av metoder. De erforderliga värdena skickas genom metodanrop med parametrar. Den faktiska metodimplementeringen finns i metoddefinitionen. Det finns en länk mellan en metodanrop och metoddefinition. Det är känt som bindande. Det finns två typer av bindningar. De är statisk bindande och dynamisk bindning. Nyckelskillnaden mellan statisk bindning och dynamisk bindning är att bindningen i statisk bindning löses vid sammanställningstiden medan dynamisk bindning löses vid körtiden,vilket är den verkliga tiden för avrättningen. Denna artikel diskuterar skillnaden mellan dessa två bindningsmekanismer.
INNEHÅLL
1. Översikt och nyckelskillnad
2. Vad är statisk bindning
3. Vad är dynamisk bindning
4. Likheter mellan statisk bindning och dynamisk bindning
5. Jämförelse sida vid sida - Statisk bindning vs dynamisk bindning i tabellform
6. Sammanfattning
Vad är statisk bindning?
Bindning är länken mellan ett metodanrop och metoddefinitioner.
Figur 01: Statisk bindning och dynamisk bindning
Se nedanstående program skrivet i Java.
allmän klass A {
public void method1 () {
System.out.println (“Method1”);
}
public void method2 () {
System.out.println (“Method2”);
}
public static void main (String args) {
En obj = ny A ();
obj.method1 ();
obj.method2 ();
}
}
Enligt ovanstående program skapas ett objekt av typ A. Sedan kallas metod1 och metod2. Att identifiera vilken metod som ska kräva körning kallas bindande. Uttalande obj.method1 () kommer att anropa method1 () och obj.method2 () kommer att anropa method2 (). Den här länken är bindande.
Vid statisk bindning löses bindningen vid kompileringen av kompilatorn. Det är också känt som tidig bindning. Bindning sker innan ett program faktiskt körs. Statisk bindning sker vid överbelastning av metoden. Se nedanstående program skrivet i Java.
offentlig tomrumsberäkning {
offentlig ogiltig summa (int x, int y) {
System.out.println (“Summan är”, x + y);
}
offentlig ogiltig summa (dubbel x, dubbel y) {
System.out.println (“Summan är”, x + y);
}
public static void main (String args) {
Beräkning cal = ny Beräkning ();
kal. sum (2,3);
kal.sum (5.1, 6.4);
}
}
Enligt ovanstående program kommer metoden med två heltal att åberopas när de passerar två heltal. När två dubbla värden skickas, anropas metoden som motsvarar två dubbla värden. Denna bindningsprocess inträffar vid tidpunkten för sammanställningen. Kompilatorn vet att den ska kalla summetoden med två heltal för cal.sum (2,3). För cal (5.1,6.4) kallas summan metoden med två dubbla värden. All nödvändig information är känd före körning, så det ökar programeffektiviteten och körningshastigheten.
Vad är dynamisk bindning?
I dynamisk bindning löser kompilatorn inte bindningen vid kompileringen. Bindning sker vid körtid. Det är också känt som sen bindning. Dynamisk bindning inträffar vid åsidosättande av metod. Se programmet skrivet i Java.
public class Shape () {
offentligt ogiltigt drag () {
System.out.println ("Rita form");
}
}
public class Circle () utökar Shape {
offentligt ogiltigt drag () {
System.out.println (“Rita cirkel”);
}
}
public class Triangle () utökar Shape {
offentligt ogiltigt drag () {
System.out.println ("Rita triangel");
}
}
offentligt klassprov {
public static void main (String args) {
Form s;
s = ny form ();
s. rita ();
s = ny cirkel ();
s. rita ();
s = ny triangel ();
s. rita ();
}
}
Enligt ovanstående program har class Shape en metoddragning (). Klasscirkel och klass triangel utökar formklass. Klasscirkel och klass triangel kan ärva attribut och metoder för klassform. Därför är klassform superklassen eller föräldraklassen. Klasscirkel och klass triangel är underklasser eller härledda klasser. Dessa klasser har också draw () -metoden med sina egna implementeringar. Därför åsidosätts draw () -metoden i superklassen.
I huvudmetoden åberopas olika objekt. Det finns en referensvariabel av formtyp, som är s. Sedan åberopar s metoden enligt den specifika klassen. Vid sammanställning hänvisar kompilatorn endast superklassdragningsmetoden. När det verkliga utförandet börjar kommer det att leda till utförandet av olika dragmetoder. Först kommer s att peka på objektet av typen Shape. Därför kommer den att åberopa ritningsmetoden i formklassen. Då pekar s objektet av typen Circle och det åberopar ritningsmetoden för Circle class. Slutligen kommer s att hänvisa till objektet av typen Triangle, och det kommer att åberopa ritningsmetoden i triangelklassen. Även om referensvariabeln är av typ Shape, beror bindningen på objekttypen. Detta koncept är känt som Dynamic Binding. Informationen ges vid körning,så körningshastigheten är långsammare jämfört med statisk bindning.
Vad är likheten mellan statisk bindning och dynamisk bindning?
Båda dessa är relaterade till en polymorfism som gör att ett objekt kan bete sig på flera sätt
Vad är skillnaden mellan statisk bindning och dynamisk bindning?
Skilja artikeln mitt före bordet
Statisk bindning vs dynamisk bindning |
|
Statisk bindning är den typ av bindning som samlar all nödvändig information för att anropa en funktion under kompileringstiden. | Dynamisk bindning är den typ av bindning som samlar all nödvändig information för att ringa en funktion under körningstiden. |
Bindningstid | |
Statisk bindning sker vid sammanställningstid. | Dynamisk bindning sker vid körning. |
Funktionalitet | |
Statisk bindning använder typinformation för bindning. | Dynamic Binding använder objekt för att lösa för att binda. |
Verkligt objekt | |
Statisk bindning använder inte ett verkligt objekt för bindning. | Dynamisk bindning, använd det verkliga objektet för bindning. |
Synonymer | |
Statisk bindning är också känd som tidig bindning. | Dynamisk bindning är också känd som senbindning. |
Avrättning | |
Körningshastigheten är snabb i statisk bindning. | Körningshastigheten är låg i dynamisk bindning. |
Exempel | |
Statisk bindning används vid överbelastning av metoder. | Dynamisk bindning används vid åsidosättande av metoder. |
Sammanfattning - Statisk bindning vs dynamisk bindning
Det finns en länk mellan en metodanrop och metoddefinition. Det är känt som bindande. Det finns två typer av bindningar som kallas statisk bindning och dynamisk bindning. Skillnaden mellan statisk bindning och dynamisk bindning är att i statisk bindning löses bindningen vid sammanställningstiden medan dynamisk bindning löses vid körningstiden, vilket är den verkliga tiden för körning. Eftersom den erforderliga informationen tillhandahålls före körtiden är statisk bindning snabb vid körning jämfört med dynamisk bindning.
Ladda ner PDF-filen för Static Binding vs Dynamic Binding
Du kan ladda ner PDF-versionen av den här artikeln och använda den för offlineändamål enligt citat. Ladda ner PDF-versionen här: Skillnaden mellan statisk bindning och dynamisk bindning
Rekommenderas:
Skillnaden Mellan Statisk RAM Och Dynamisk RAM
Statiskt RAM-minne jämfört med dynamiskt RAM-minne (SRAM vs DRAM) RAM (Random Access Memory) är det primära minnet som används i en dator. Dess individuella minnesceller kan nås
Skillnaden Mellan Statisk Stabilitet Och Dynamisk Stabilitet
Statisk stabilitet vs dynamisk stabilitet Generellt definieras ett flygplans stabilitet som flygplanets förmåga att upprätthålla en specifik, föreskriven f
Skillnaden Mellan Statisk IP Och Dynamisk IP
Statisk IP mot dynamisk IP En IP-adress (Internet Protocol) är en etikett som består av nummer som tilldelas enheter som är anslutna till ett nätverk. Det jag
Skillnaden Mellan Statisk Och Dynamisk Filtrering
Statisk vs dynamisk filtrering När data skickas över internet görs det i små bitar som kallas paket. Dessa paket innehåller informationen ab
Skillnaden Mellan Statisk Och Dynamisk Testning
Statisk vs dynamisk testning Närhelst programvara sammanställs måste den kontrolleras för fel och fel innan den körs och under körningen så att