Ključna razlika - rano i kasno vezivanje
Rano i kasno vezivanje dva su pojma povezana s polimorfizmom. Rano vezivanje događa se u vrijeme sastavljanja, dok se kasno vezivanje događa u vrijeme izvođenja. Ključna razlika između ranog i kasnog vezanja je ta što rano vezanje koristi podatke klase za razrješavanje poziva metode, dok kasno vezanje koristi objekt za razrješavanje poziva metode.
Programski jezici kao što je Java podržavaju objektno orijentirano programiranje (OOP). To je paradigma koja omogućuje konstrukciju programa ili softvera pomoću objekata. U softveru postoji više objekata. Ti su objekti međusobno povezani i prenose poruke pomoću metoda. Svaki objekt ima svojstva i ponašanja. Karakteristike su opisane svojstvima ili svojstvima. Ponašanja su opisana pomoću metoda. Objekt Student može imati karakteristike kao što su ime, dob i oni su predstavljeni svojstvima. Objekt Student može imati ponašanja poput učenja i čitanja, a oni su predstavljeni metodama. Jedan od glavnih stupova OOP-a je polimorfizam. Omogućuje objektu da se ponaša na više načina. Rano i kasno vezivanje dva su pojma u polimorfizmu. Metode preopterećenja povezane su pomoću ranog vezanja. Nadjačane metode su povezane kasnim vezanjem.
SADRŽAJ
1. Pregled i ključna razlika
2. Što je rano povezivanje
3. Što je kasno vezivanje
4. Sličnosti između ranog i kasnog povezivanja
5. Usporedna usporedba - rano i kasno vezivanje u tabličnom obliku
6. Sažetak
Što je rano povezivanje?
U Early Binding-u, podaci o klasi koriste se za rješavanje poziva metode. Rano povezivanje događa se u vrijeme sastavljanja. Također je poznato i kao statičko vezivanje. U ovom se procesu vezanje događa prije nego što se program stvarno pokrene. Metode preopterećenja povezane su pomoću ranog vezanja. Pogledajte donji program.
Slika 01: Klasa izračuna
Slika 02: Glavni program za rano uvezivanje
Prema gornjem programu, klasa Kalkulacija 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 tipa Kalkulacija. Kada prosljeđuje dvije cijele vrijednosti metodi dodavanja, ona će pozvati metodu dodavanja koja prihvaća dvije cjelobrojne vrijednosti. Kada prosljeđuje dvije dvostruke vrijednosti metodi dodavanja, ona će pozvati metodu koja odgovara dvjema dvostrukim vrijednostima. Ovaj postupak vezivanja događa se u vrijeme sastavljanja. Sve potrebne informacije poznate su prije izvođenja, tako da povećavaju učinkovitost programa i brzinu izvršenja.
Što je kasno obvezujuće?
U kasnom vezivanju objekt se koristi za rješavanje poziva metode. Kasno vezivanje događa se tijekom izvođenja. Također je poznato i kao dinamičko vezanje. U ovom se procesu vezanje događa prilikom izvršavanja programa. Nadjačane metode su povezane kasnim vezanjem. Pogledajte donji program.
Slika 03: Klasa oblika
Slika 04: Razred kruga
Slika 05: Klasa trokuta
Slika 06: Glavni program za kasno povezivanje
Prema gornjem programu, klasa Shape ima metodu izvlačenja. Klasa Class Circle i klasa Triangle produžuje klasu Shape. Stoga ove dvije klase mogu naslijediti atribute i metode klase Shape. Klasa oblika je osnovna klasa. Klase krugova i trokuta izvedene su klase. Klasa Circle i class Triangle također imaju metodu crtanja s vlastitim implementacijama. Dakle, metodu crtanja u klasi Shape nadjačavaju metode crtanja izvedenih klasa.
U glavnom programu stvara se referentna varijabla s tipa Shape. U vrijeme kompajliranja, kompajler će uputiti samo metodu izvlačenja osnovne klase. Tijekom izvođenja izvršit će se različite metode izvlačenja. Prvo će s ukazati na objekt tipa Shape. Dakle, poziva se metoda crtanja klase Shape. Tada će s pokazati na objekt tipa Circle i pozvat će metodu crtanja klase Circle. Napokon, s će pokazati na objekt tipa Triangle i pozvat će metodu crtanja u klasi Triangle. Metode se pozivaju ovisno o objektima. Stoga se objekt koristi za rješavanje poziva metode u kasnom vezivanju. Informacije potrebne za vezivanje pružaju se tijekom izvođenja, pa je brzina izvršavanja sporija u usporedbi s ranim vezivanjem.
U čemu je sličnost između ranog i kasnog vezivanja?
I rano i kasno vezivanje povezani su s polimorfizmom koji je stup OOP-a
Koja je razlika između ranog i kasnog vezivanja?
Diff Article Sredina prije tablice
Rano vezanje vs kasno vezanje |
|
Proces korištenja podataka o klasi za razrješavanje poziva metode koji se događa u vrijeme sastavljanja naziva se ranim vezivanjem. | Proces upotrebe objekta za razrješavanje poziva metode koji se događa u vrijeme izvođenja naziva se kasno vezivanje. |
Vrijeme vezivanja | |
Rano povezivanje događa se u vrijeme sastavljanja. | Kasno vezivanje događa se u vrijeme izvođenja. |
Funkcionalnost | |
Early Binding koristi podatke klase za rješavanje poziva metode. | Kasno vezanje koristi objekt za razrješavanje poziva metode. |
Sinonimi | |
Rano vezivanje je poznato i kao statičko vezivanje.. | Kasno povezivanje poznato je i kao dinamičko vezivanje. |
Pojava | |
Metode preopterećenja povezane su pomoću ranog vezanja. | Nadjačane metode su povezane kasnim vezanjem. |
Brzina izvršenja | |
Brzina izvršenja je brža u ranom povezivanju. | Brzina izvršenja niža je u kasnim uvezima. |
Sažetak - rano i kasno vezanje
OOP se obično koristi za razvoj softvera. Jedan od glavnih stupova OOP-a je polimorfizam. Rano vezivanje i kasno vezivanje povezani su s tim. Rano vezivanje događa se u vrijeme sastavljanja, dok se kasno vezivanje događa u vrijeme izvođenja. Kod preopterećenja metode, lijepljenje se događa pomoću ranog vezanja. Kod nadjačavanja metode, lijepljenje se događa pomoću kasnog vezanja. Razlika između ranog i kasnog vezanja je u tome što rano vezanje koristi podatke klase za razrješavanje poziva metode, dok kasno vezanje koristi objekt za razrješavanje poziva metode.