Sadržaj:
- Ključna razlika - statičko i dinamičko povezivanje
- Što je statičko vezivanje?
- Što je dinamičko povezivanje?
- U čemu je sličnost između statičkog i dinamičkog povezivanja?
- Koja je razlika između statičkog i dinamičkog povezivanja?
- Sažetak - Statičko vezanje vs Dinamičko vezanje
Video: Razlika Između Statičkog I Dinamičkog Povezivanja
2024 Autor: Mildred Bawerman | [email protected]. Zadnja promjena: 2023-12-16 08:39
Ključna razlika - statičko i dinamičko povezivanje
Programski jezici kao što su Java i C # podržavaju objektno orijentirano programiranje (OOP). Omogućuje izgradnju softvera pomoću objekata. Mnogo je predmeta u softverskom sustavu ili programu. Ti objekti imaju atribute i metode. Atributi opisuju karakteristike. Metode opisuju radnje koje objekt može izvesti. Podaci se prenose kroz objekte pomoću metoda. Potrebne vrijednosti šalju se putem poziva metode s parametrima. Stvarna primjena metode je u definiciji metode. Postoji veza između poziva metode i definicije metode. Poznat je kao obvezujući. Postoje dvije vrste veza. Oni su statički i dinamički. Ključna razlika između statičkog vezanja i dinamičkog vezanja je u tome što se kod statičkog vezivanja vezanje razrješava u vrijeme sastavljanja, dok se dinamičko vezanje rješava u vrijeme izvođenja,što je stvarno vrijeme izvršenja. Ovaj članak govori o razlici između ova dva mehanizma vezanja.
SADRŽAJ
1. Pregled i ključna razlika
2. Što je statičko vezanje
3. Što je dinamičko vezanje
4. Sličnosti između statičkog vezanja i dinamičkog vezanja
5. Usporedba usporedno - statičko vezanje nasuprot dinamičkom vezivanju u tabličnom obliku
6. Sažetak
Što je statičko vezivanje?
Vezanje je veza između poziva metode i definicija metode.
Slika 01: Statičko i dinamičko vezivanje
Pogledajte donji program napisan na Javi.
javni razred A {
metoda javne praznine1 () {
System.out.println ("Metoda1");
}
metoda javne praznine2 () {
System.out.println (“Metoda2”);
}
javna statička void glavna (String args) {
A obj = novo A ();
obj.method1 ();
obj.method2 ();
}
}
Prema gornjem programu stvara se objekt tipa A. Tada se pozivaju metoda1 i metoda2. Identificiranje metode koju treba pozvati na izvršenje poznato je kao vezivanje. Izjava obj.method1 () pozvat će method1 (), a obj.method2 () pozvat će method2 (). Ova poveznica je obvezujuća.
U statičkom vezivanju, vezivanje u vrijeme kompajliranja rješava kompajler. Također je poznato kao rano vezivanje. Vezivanje se događa prije nego što se program stvarno pokrene. Statično se vezanje događa kod preopterećenja metode. Pogledajte donji program napisan na Javi.
izračun javne praznine {
javna praznina (int x, int y) {
System.out.println („Zbroj je“, x + y);
}
javna praznina (dvostruki x, dvostruki y) {
System.out.println („Zbroj je“, x + y);
}
javna statička void glavna (String args) {
Izračun kal = novi Izračun ();
kal.sum (2,3);
kal.sum (5.1, 6.4);
}
}
Prema gore navedenom programu, pri prosljeđivanju dviju cijelih brojeva, pozvat će se metoda s dvije cijele brojke. Pri prosljeđivanju dviju dvostrukih vrijednosti pozvat će se metoda koja odgovara dvjema dvostrukim vrijednostima. Ovaj postupak vezivanja događa se u vrijeme sastavljanja. Prevoditelj zna da bi trebao pozvati metodu zbroja s dvije cjelobrojne vrijednosti za cal.sum (2,3). Za cal (5.1,6.4) pozvat će metodu zbroja s dvije dvostruke vrijednosti. Sve potrebne informacije poznate su prije izvođenja, tako da povećavaju učinkovitost programa i brzinu izvršenja.
Što je dinamičko povezivanje?
U Dynamic Binding kompajler ne razrješava vezivanje u vrijeme kompajliranja. Vezanje se događa u vrijeme izvođenja. Poznato je i kao kasno vezivanje. Dinamičko vezanje događa se u nadjačavanju metode. Pogledajte program napisan na Javi.
oblik javne klase () {
izvlačenje javne praznine () {
System.out.println ("Crtanje oblika");
}
}
javni razred Circle () proširuje Shape {
izvlačenje javne praznine () {
System.out.println ("Crtanje kruga");
}
}
trokut javne klase () proširuje oblik {
izvlačenje javne praznine () {
System.out.println ("Crtanje trokuta");
}
}
test javne klase {
javna statička void glavna (String args) {
Oblik s;
s = novi oblik ();
s.crtaj ();
s = novi krug ();
s.crtaj ();
s = novi trokut ();
s.crtaj ();
}
}
Prema gornjem programu, klasa Shape ima metodu draw (). Razredni krug i razredni trokut proširuju klasu Oblik. Krug klase i razred Trokut mogu naslijediti atribute i metode klase Oblik. Stoga je klasa Oblik super klasa ili roditeljska klasa. Razredni krug i trokut razreda podrazredi su ili izvedene klase. Ove klase također imaju metodu draw () s vlastitim implementacijama. Stoga je metoda draw () u super klasi poništena.
U glavnoj metodi pozivaju se različiti objekti. Postoji referentna varijabla tipa Shape, koja je s. Zatim, s poziva metodu prema određenoj klasi. U vrijeme sastavljanja, sastavljač će uputiti samo metodu izvlačenja super klase. Kada stvarno izvršavanje započne, to će dovesti do izvršenja različitih metoda izvlačenja. Prvo, s će biti usmjereni na objekt tipa Shape. Stoga će pozvati metodu crtanja u klasi Shape. Tada će s usmjeravati objekt tipa Circle i pozivat će metodu crtanja klase Circle. Konačno, s će se odnositi na objekt tipa Triangle i pozvat će metodu crtanja u klasi Triangle. Iako je referentna varijabla tipa Shape, vezanje ovisi o tipu objekta. Ovaj koncept poznat je kao dinamičko povezivanje. Informacije se pružaju u vrijeme izvođenja,pa je brzina izvršavanja sporija u odnosu na statičko vezanje.
U čemu je sličnost između statičkog i dinamičkog povezivanja?
Obje su povezane s polimorfizmom koji omogućuje objektu da se ponaša na više načina
Koja je razlika između statičkog i dinamičkog povezivanja?
Diff Article Sredina prije tablice
Statičko vezanje vs dinamičko vezanje |
|
Statičko povezivanje je vrsta povezivanja koja prikuplja sve potrebne podatke za pozivanje funkcije tijekom vremena sastavljanja. | Dynamic Binding je vrsta povezivanja koja prikuplja sve potrebne podatke za pozivanje funkcije tijekom vremena izvođenja. |
Vrijeme vezivanja | |
Statično povezivanje događa se u vrijeme sastavljanja. | Dinamičko vezivanje događa se u vrijeme izvođenja. |
Funkcionalnost | |
Statičko vezanje koristi informacije o tipu za vezivanje. | Dynamic Binding koristi objekte za rješavanje za povezivanje. |
Stvarni objekt | |
Statičko vezivanje ne koristi stvarni objekt za vezivanje. | Dinamičko povezivanje, za povezivanje koristite stvarni objekt. |
Sinonimi | |
Statično vezivanje poznato je i kao rano vezivanje. | Dinamičko vezivanje poznato je i kao kasno vezivanje. |
Izvršenje | |
Brzina izvršavanja je velika u statičkom vezivanju. | Brzina izvršenja je niska u dinamičkom vezivanju. |
Primjer | |
Statično vezanje koristi se u preopterećenju metode. | Dinamičko vezanje koristi se u nadjačavanju metode. |
Sažetak - Statičko vezanje vs Dinamičko vezanje
Postoji veza između poziva metode i definicije metode. Poznat je kao obvezujući. Postoje dvije vrste veza koje se nazivaju statičko i dinamičko povezivanje. Razlika između statičkog i dinamičkog vezanja je u tome što se kod statičkog vezanja rješavanje vrši u vrijeme sastavljanja, dok se dinamičko vezanje rješava u vremenu izvođenja, što je stvarno vrijeme izvršenja. Kako se potrebne informacije pružaju prije vremena izvođenja, statičko vezivanje je brzo u izvedbi u usporedbi s dinamičkim vezivanjem.
Preuzmite PDF statičkog i dinamičkog povezivanja
Možete preuzeti PDF verziju ovog članka i koristiti je u izvanmrežne svrhe prema napomeni. Preuzmite PDF verziju ovdje: Razlika između statičkog i dinamičkog povezivanja
Preporučeno:
Razlika Između Statičkog RAM-a I Dinamičkog RAM-a
Statički RAM vs Dinamički RAM (SRAM vs DRAM) RAM (Random Access Memory) je primarna memorija koja se koristi u računalu. Može se pristupiti njegovim pojedinačnim memorijskim stanicama
Razlika Između Statičkog I Dinamičkog IP-a
Statička IP vs dinamička IP Adresa IP (internetski protokol) oznaka je sastavljena od brojeva koja se dodjeljuje uređajima koji su povezani na mrežu. To i
Razlika Između Statičkog I Dinamičkog Ispitivanja
Statičko vs dinamičko testiranje Kad god se kompajlira softver, mora se provjeriti ima li grešaka i grešaka prije izvršenja i tijekom izvršenja, tako da
Razlika Između Statičkog I Dinamičkog Modeliranja
Statičko vs dinamičko modeliranje Bilo koji sustav može se opisati pomoću matematičkog modela koji sadrži matematičke simbole i pojmove. Matematičko modeliranje i
Razlika Između Statičkog VLAN-a I Dinamičkog VLAN-a
Statički VLAN vs Dinamička VLAN virtualna lokalna mreža (VLAN) skup je priključaka koje je sklopka odabrala kao da pripadaju istoj domeni emitiranja. Tipično