Rozdiel medzi skorou a neskorou väzbou

Kľúčový rozdiel - včasné vs Neskoré viazanie
 

Včasné viazanie a neskoré viazanie sú dva pojmy súvisiace s polymorfizmom. Včasné viazanie sa vyskytuje v čase kompilácie, zatiaľ čo oneskorené viazanie sa vyskytuje za behu. kľúčový rozdiel medzi skorým a neskorým viazaním je to Včasné viazanie používa informácie triedy na riešenie volania metód, zatiaľ čo Viazanie na oneskorenie používa na riešenie volania metód.

Programovacie jazyky, ako napríklad Java, podporujú objektovo orientované programovanie (OOP). Je to paradigma, ktorá umožňuje zostavenie programu alebo softvéru pomocou objektov. V softvéri je viacero objektov. Tieto objekty sú vzájomne prepojené a pomocou metód odovzdávajú správy. Každý objekt má vlastnosti a správanie. Charakteristiky sú opísané vlastnosťami alebo atribútmi. Správanie je opísané pomocou metód. Objekt Študent môže mať vlastnosti ako meno, vek a sú reprezentované vlastnosťami. Objekt Študent môže mať také správanie, ako je štúdium a čítanie a sú reprezentované metódami. Jedným z hlavných pilierov OOP je polymorfizmus. Umožňuje objektu správať sa niekoľkými spôsobmi. Včasná väzba a neskorá väzba sú dva pojmy v polymorfizme. Metódy preťaženia sa spájajú pomocou skorej väzby. Prepísané metódy sa spájajú pomocou neskorej väzby.

OBSAH

1. Prehľad a kľúčový rozdiel
2. Čo je skoré viazanie
3. Čo je neskoré viazanie
4. Podobnosti medzi skorou a neskorou väzbou
5. Porovnanie bok po boku - skoré verzus neskoré viazanie v tabuľkovej forme
6. Zhrnutie

Čo je skoré viazanie?

V Early Binding sa informácie o triede používajú na riešenie volaní metód. Včasné viazanie sa vyskytuje v čase kompilácie. Je tiež známa ako statická väzba. V tomto procese dôjde k väzbe skôr, ako sa program skutočne spustí. Metódy preťaženia sa spájajú pomocou skorej väzby. Pozrite si nasledujúci program.

Obrázok 01: Výpočet triedy

Obrázok 02: Hlavný program včasnej väzby

Podľa vyššie uvedeného programu trieda Výpočet obsahuje metódu add, ktorá akceptuje dve celočíselné hodnoty a ďalšiu metódu add, ktorá akceptuje dve dvojité hodnoty. V hlavnom programe sa vytvorí objekt typu Výpočet. Pri odovzdávaní dvoch celých čísel metóde add vyvolá metódu add, ktorá akceptuje dve celé čísla. Pri odovzdávaní dvoch dvojitých hodnôt metóde add vyvolá metódu zodpovedajúcu dvom dvojitým hodnotám. Tento proces väzby sa vyskytuje v čase kompilácie. Všetky požadované informácie sú známe pred spustením, takže zvyšuje efektívnosť programu a rýchlosť vykonávania.

Čo je neskoré viazanie?

V oneskorenom viazaní sa objekt používa na riešenie volaní metód. Neskoré viazanie sa vyskytuje za behu. Je tiež známy ako dynamické viazanie. V tomto procese sa väzba vyskytuje pri vykonávaní programu. Prepísané metódy sa spájajú pomocou neskorej väzby. Pozrite si nasledujúci program.

Obrázok 03: Trieda tvaru

Obrázok 04: Trieda kruhu

Obrázok 05: Trieda trojuholníka

Obrázok 06: Hlavný program pre neskoré viazanie

Podľa vyššie uvedeného programu má trieda Shape metódu draw. Trieda Kruh a trieda Trojuholník rozširuje triedu Tvar. Preto tieto dve triedy môžu zdediť atribúty a metódy triedy Shape. Tvar triedy je základná trieda. Triedy Circle a Triangle sú odvodené triedy. Trieda Circle a Class Triangle majú tiež metódu draw s vlastnými implementáciami. Metóda draw v triede Shape je teda potlačená metódami draw z odvodených tried.

V hlavnom programe sa vytvorí referenčná premenná typu Shape. V čase kompilácie bude kompilátor odkazovať iba na metódu kreslenia základnej triedy. Za behu sa vykonajú rôzne metódy kreslenia. Najprv s bude ukazovať na objekt typu Shape. Vyvoláva sa teda metóda kreslenia triedy Shape. Potom s ukazuje na objekt typu Circle a vyvolá metódu draw triedy Circle. Nakoniec s poukáže na objekt typu Triangle a vyvolá metódu draw v triede Triangle. Metódy sa volajú v závislosti od objektov. Preto sa objekt používa na riešenie metódy volajúceho v oneskorenom viazaní. Informácie potrebné na viazanie sa poskytujú v čase vykonávania, takže rýchlosť vykonávania je pomalšia v porovnaní so skorým viazaním.

Aká je podobnosť medzi skorou a neskorou väzbou?

  • Včasné aj neskoré viazanie súvisí s polymorfizmom, ktorý je stĺpikom OOP.

Aký je rozdiel medzi skorým a neskorým viazaním?

Včasné viazanie verzus neskoré viazanie

Proces použitia informácií o triedach na vyriešenie volania metód, ktoré sa vyskytuje v čase kompilácie, sa nazýva skoré spojenie. Proces použitia objektu na vyriešenie volania metódy, ktorý sa vyskytuje v čase spustenia, sa nazýva oneskorené spojenie.
 Čas väzby
Včasné viazanie sa deje v čase kompilácie. Neskoré viazanie sa deje za behu.
funkčnosť
Včasné viazanie používa informácie triedy na vyriešenie volania metód. Late Binding používa objekt na vyriešenie volania metód.
 synonymá
Včasné viazanie je známe aj ako statické viazanie ... Neskoré viazanie je tiež známe ako dynamické viazanie.
výskyt
Metódy preťaženia sa spájajú pomocou skorej väzby. Prepísané metódy sa spájajú pomocou neskorej väzby.
Rýchlosť vykonávania
Rýchlosť vykonávania je rýchlejšia pri skorej väzbe. Rýchlosť vykonávania je pri oneskorenej väzbe nižšia.

Zhrnutie - včasné vs Neskoré viazanie

OOP sa bežne používa na vývoj softvéru. Jedným z hlavných pilierov OOP je polymorfizmus. S tým súvisí skoré viazanie a neskoré viazanie. Včasné viazanie sa vyskytuje v čase kompilácie, zatiaľ čo neskoré viazanie sa vyskytuje za behu. Pri preťažení metódou dochádza k spojeniu pomocou skorej väzby. Pri potlačení spôsobu sa spájanie uskutoční pomocou neskorej väzby. Rozdiel medzi skorým a neskorým viazaním je v tom, že včasné viazanie používa informácie triedy na riešenie problémov volania metódy, zatiaľ čo oneskorené väzby používa objekt na riešenie problémov volania metód.

referencie:

1.Java Interview 04 - Statické viazanie Vs Dynamické viazanie, Kurzy Mahika, 27. decembra 2017. K dispozícii tu
2.Dynamické odosielanie metód v Java Výukový program pre jadro Java Studytonight. k dispozícii tu