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.
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
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.
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.
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. |
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.
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