Razlika između statičkog i dinamičkog vezivanja
![Java Interview 04 - Static Binding Vs Dynamic Binding](https://i.ytimg.com/vi/W6s7RZo06nA/hqdefault.jpg)
Sadržaj
- Usporedni grafikon:
- Definicije statičkog vezivanja
- Primjena statičkog vezivanja u C ++ s primjerom preopterećenja
- Zaključak:
Vezivanje povezivanja "definicije funkcije" s "funkcijskim pozivom" ili povezanosti "vrijednosti" s "varijablom" naziva se "obvezujuće". Tijekom sastavljanja, svakoj 'definiciji funkcije' se daje memorijska adresa; Čim se izvrši pozivanje funkcija, kontrola izvršavanja programa premješta se na tu memorijsku adresu i izvršava se kod funkcije koji se pohranjuje na toj lokaciji, ovo je Vezivanje 'poziv funkcije' na 'definiciju funkcije'. Vezanje se može klasificirati kao "statičko vezivanje" i "dinamičko vezivanje".
Ako je već poznato prije izvršavanja, koja će se funkcija pozivati ili koja će se vrijednost dodijeliti varijabli, onda je to "statičko vezivanje". ako se sazna za vrijeme izvođenja, tada se naziva "dinamično vezivanje".
- Usporedni grafikon
- definicija
- Ključne razlike
- Zaključak
Usporedni grafikon:
Osnove za usporedbu | Statičko vezivanje | Dinamičko vezivanje |
---|---|---|
Pojava događaja | Događaji se događaju u vrijeme sastavljanja su "Statično uvezivanje". | Događaji koji se događaju u vrijeme izvođenja su "Dynamic Binding". |
Informacija | Sve informacije potrebne za pozivanje funkcije poznate su u vrijeme sastavljanja. | Sve informacije o pozivu na funkciju moraju se znati u vrijeme izvođenja. |
Prednost | Učinkovitost. | Fleksibilnost. |
Vrijeme | Brzo izvršenje. | Sporo izvršenje. |
drugo ime | Rano vezivanje. | Kasno vezivanje. |
Primjer | Preopterećen poziv funkcije, preopterećeni operateri. | Virtualna funkcija u C ++, nadjačana metoda u javi. |
Definicije statičkog vezivanja
Kada prevoditelj prepozna vrijeme koje je potrebno za pozivanje funkcije ili sve vrijednosti varijabli za vrijeme kompilacije, ona se zove "statičko vezivanje„. Kako su sve potrebne informacije poznate prije izvođenja, to povećava učinkovitost programa, a također povećava brzinu izvršenja programa.
Statičko uvezivanje čini program vrlo učinkovitim, ali odbija programsku fleksibilnost, jer su u njemu unaprijed definirane vrijednosti varijable i "pozivanje funkcije". Statičko vezivanje provodi se u programu u vrijeme kodiranja.
Preopterećenje neke funkcije ili operatora primjer je polimorfizma u vremenu preklapanja, tj. Statičkog Vezivanja.
Primjena statičkog vezivanja u C ++ s primjerom preopterećenja
#include Ovdje se vrijednost pokazivača mijenja kako se program izvodi, a vrijednost pokazivača odlučuje koja će se funkcija klase pozvati. Dakle, ovdje se podaci daju u toku izvođenja, potrebno je vrijeme za povezivanje podataka što usporava izvršenje. Međutim, zaključujemo da kad imamo prethodno znanje o vrijednostima varijabli i poziva funkcija, primjenjujemo statičko vezivanje. Suprotno tome, dinamičnim uvezivanjem pružamo sve informacije u trenutku izvršenja.
Zaključak: