Rano vezivanje i kasno vezivanje dva su koncepta povezana s polimorfizmom. Rano uvezivanje se događa u vrijeme sastavljanja, dok se kasno uvezivanje događa u vrijeme izvođenja. ključna razlika između ranog i kasnog vezivanja je to Early Binding koristi informacije klase za rješavanje poziva metode, dok Late Binding koristi objekt da bi se riješio poziva metode.
Programski jezici kao što je Java podržava objektno orijentirano programiranje (OOP). To je paradigma koja omogućuje konstruiranje programa ili softvera pomoću objekata. U softveru se nalazi više objekata. Ti su objekti međusobno povezani i prenose poruke metodama. Svaki objekt ima karakteristike i ponašanja. Karakteristike su opisane svojstvima ili atributima. Ponašanja su opisane metodama. Objekt Student može imati karakteristike kao što su ime, starost i one su predstavljene svojstvima. Objekt Student može imati ponašanja poput učenja i čitanja, a predstavljena su metodama. Jedan glavni stup OOP-a je polimorfizam. Omogućuje da se objekt ponaša na više načina. Rano vezivanje i kasno vezivanje dva su koncepta polimorfizma. Metode preopterećenja vežu se ranim vezanjem. Prebrisane metode vezuju se pomoću kasnog vezanja.
1. Pregled i ključne razlike
2. Što je rano vezivanje
3. Što je kasno vezivanje
4. Sličnosti između ranog i kasnog vezivanja
5. Usporedna usporedba - rano vs kasno vezivanje u tabelarnom obliku
6. Sažetak
U ranom povezivanju informacije o razredu koriste se za rješavanje poziva metoda. Rano vezivanje nastaje u vrijeme sastavljanja. Poznato je i kao statičko vezivanje. U tom se procesu vezivanje događa prije nego što se program stvarno pokrene. Metode preopterećenja vežu se ranim vezanjem. Pogledajte donji program.
Slika 01: Klasa izračuna
Slika 02: Glavni program ranog uvezivanja
Prema gornjem programu, klasa izračuna sadrži metodu dodavanja koja prihvaća dvije cjelobrojne vrijednosti i drugu metodu dodavanja koja prihvaća dvije dvostruke vrijednosti. U glavnom programu stvara se objekt vrste Kalkulacija. Pri prelasku dva cijeli broja na metodu dodavanja, pozvat će metodu dodavanja koja prihvaća dva cjelobrojna broja. Kad proslijedite dvije dvostruke vrijednosti metodi dodavanja, pozvat će metodu koja odgovara dvijema dvostrukim vrijednostima. Taj se postupak vezivanja događa u vrijeme sastavljanja. Sve potrebne informacije su poznate prije izvođenja, tako da se povećava učinkovitost programa i brzina izvršavanja.
U kasnom vezivanju objekt se koristi za rješavanje poziva metoda. Kasno vezanje događa se tijekom izvođenja. Poznat je i kao dinamičko vezivanje. U ovom se procesu vezivanje događa pri izvođenju programa. Prebrisane metode vezuju se pomoću kasnog vezanja. Pogledajte donji program.
Slika 03: Klasa oblika
Slika 04: Kružni razred
Slika 05: Klasa trokuta
Slika 06: Glavni program za kasno uvezivanje
Prema gornjem programu, klasa Shape ima metodu izvlačenja. Klasa Circle i klasa Triangle klase proširuje klasu Shape. Stoga ove dvije klase mogu naslijediti atribute i metode klase Oblik. Oblik oblika je osnovna klasa. Razredi krugova i trokuta su izvedene klase. Klasa Circle i klasa Triangle također imaju metodu crtanja s vlastitim implementacijama. Dakle, metoda izvlačenja u klasi Shape nadjačava metode izvlačenja izvedenih klasa.
U glavnom programu stvara se referentna varijabla tipa Shape. U vrijeme sastavljanja prevoditelj će se pozivati samo na način izvlačenja osnovne klase. Tijekom izvođenja izvršavat će se različite metode izvlačenja. Prvo, s će ukazati na objekt tipa Oblik. Dakle, poziva se metoda izvlačenja klase Shape. Tada će s ukazati na objekt tipa Circle i pozvat će metodu crtanja klase Circle. Konačno, s će ukazati na objekt tipa Triangle i pozvat će metodu crtanja u klasi Triangle. Metode se nazivaju ovisno o objektima. Stoga se objekt koristi za rješavanje poziva u metodama Kasno uvezivanje. Podaci potrebni za vezanje daju se u vrijeme izvođenja, pa je brzina izvršenja manja u odnosu na rano vezanje.
Rano uvezivanje vs kasno vezivanje | |
Postupak korištenja podataka klase za rješavanje poziva metoda koji se događaju u vrijeme kompilacije naziva se Early Binding. | Postupak korištenja objekta za rješavanje poziva metode koji se događa u vrijeme izvođenja naziva se kasno vezivanje. |
Vrijeme vezanja | |
Rano uvezivanje se događa u vrijeme sastavljanja. | Kasno uvezivanje događa se u vrijeme izvođenja. |
funkcionalnost | |
Early Binding koristi podatke klase za rješavanje poziva metoda. | Kasno vezivanje koristi objekt da bi se riješilo pozivanje metode. |
sinonimi | |
Rano vezanje poznato je i kao statičko vezivanje… | Kasno vezivanje poznato je i kao dinamičko vezivanje. |
događaj | |
Metode preopterećenja vežu se ranim vezanjem. | Prebrisane metode vezuju se pomoću kasnog vezanja. |
Brzina izvršenja | |
Brzina izvođenja je brža u ranom vezivanju. | Brzina izvođenja je niža kod kasnog vezanja. |
OOP se obično koristi za razvoj softvera. Jedan glavni stup OOP-a je polimorfizam. Rano vezivanje i kasno uvezivanje u vezi su s tim. Rano uvezivanje se događa u vrijeme sastavljanja, dok se kasno uvezivanje događa u vrijeme izvođenja. Kod preopterećenja metode, vezivanje se događa pomoću ranog vezivanja. Kod prevladavanja metode, vezanje se koristi pomoću kasnog vezanja. Razlika između Early i Late Binding je u tome što Early Binding koristi informacije klase za rješavanje poziva metode, dok Late Binding koristi objekt za rješavanje poziva metode.
1.Java Intervju 04 - Statično uvezivanje Vs dinamičko uvezivanje, Vodiči Mahika, 27. prosinca 2017. Dostupno ovdje
2.Otprema dinamičke metode u Javi | Osnovni Java Vodič | Studytonight. dostupan ovdje