Zgodnja vezava in pozna vezava sta dva pojma, povezana s polimorfizmom. Zgodnja vezava se zgodi ob prevajalnem času, medtem ko se pozna vezava zgodi med izvajanjem. The ključna razlika med zgodnjo in pozno vezavo je to Zgodnje vezanje uporablja informacije o razredu za reševanje klicev metode, medtem ko Late Binding uporablja predmet za reševanje klica metode.
Programski jeziki, kot je Java, podpira objektno orientirano programiranje (OOP). To je paradigma, ki omogoča konstruiranje programa ali programske opreme z uporabo predmetov. V programski opremi je več predmetov. Ti predmeti so povezani med seboj in po metodah prenašajo sporočila. Vsak predmet ima značilnosti in vedenja. Značilnosti so opisane z lastnostmi ali atributi. Obnašanja so opisana z uporabo metod. Predmet Študent ima lahko lastnosti, kot so ime, starost in so predstavljene z lastnostmi. Predmet Študent ima lahko vedenja, kot sta študij in branje, zastopana pa so z metodami. Eden glavnih stebrov OOP je polimorfizem. Predmetu omogoča, da se vede na več načinov. Zgodnja vezava in pozna vezava sta dva pojma v polimorfizmu. Načini preobremenitve se vežejo z uporabo zgodnje vezave. Prekrite metode se vežejo z uporabo pozne vezave.
1. Pregled in ključne razlike
2. Kaj je zgodnja vezava
3. Kaj je pozno vezanje
4. Podobnosti med zgodnjo in pozno vezavo
5. Primerjava drug ob drugem - zgodnje proti poznemu vezanju v tabeli
6. Povzetek
V zgodnji povezavi se podatki o razredu uporabljajo za reševanje klicev metode. Zgodnja vezava se zgodi v času prevajanja. Znan je tudi kot statična vez. V tem postopku se vezava zgodi, preden se program dejansko zažene. Načini preobremenitve se vežejo z uporabo zgodnje vezave. Glejte spodnji program.
Slika 01: Izračunski razred
Slika 02: Glavni program zgodnje vezave
V skladu z zgornjim programom razred izračuna vsebuje metodo dodajanja, ki sprejme dve celi vrednosti in drugo metodo dodajanja, ki sprejme dve dvojni vrednosti. V glavnem programu se ustvari objekt tipa Izračun. Ko posreduje dve celi številki metodi add, bo priklical metodo add, ki sprejme dve celi številki. Ko posreduje dve dvojni vrednosti metodi add, bo priklical metodo, ki ustreza dvema dvojnima vrednostima. Ta postopek vezave se zgodi v času prevajanja. Vse zahtevane informacije so znane pred izvajanjem, zato povečajo učinkovitost programa in hitrost izvajanja.
V poznem povezovanju se objekt uporablja za reševanje klicev metode. Pozno vezanje se zgodi med izvajanjem. Znan je tudi kot dinamična vezava. V tem postopku se vezava pojavi pri izvajanju programa. Prekrite metode se vežejo z uporabo pozne vezave. Glejte spodnji program.
Slika 03: Razred oblike
Slika 04: Razred krogov
Slika 05: Razred trikotnika
Slika 06: Glavni program za pozno vezavo
Glede na zgornji program ima razred Shape način risanja. Razredni krog in razred Trikotnik razširita razred Oblika. Zato lahko ta dva razreda podedujeta atribute in metode razreda Oblika. Shape Class je osnovni razred. Razredi krogov in trikotnika so izpeljani razredi. Razred Circle in razred Triangle imata tudi način risanja z lastnimi izvedbami. Torej, metoda risanja v razredu Shape preglasi metode risanja iz izvedenih razredov.
V glavnem programu se ustvari referenčna spremenljivka vrste Shape. V času prevajanja se bo prevajalnik skliceval le na način risanja osnovnega razreda. Med izvajanjem se bodo izvajale različne metode risanja. Najprej s bo pokazal na predmet tipa Shape. Torej, prikliče se metoda risanja razreda Shape. Potem s bo pokazal na predmet tipa Circle in priklical metodo risanja razreda Circle. Končno s bo pokazal na predmet tipa Triangle in priklical metodo risanja v razredu Trikotnik. Metode se imenujejo glede na predmete. Zato se objekt uporablja za razrešitev klicanja metode v pozni vezavi. Informacije, potrebne za vezavo, so na voljo v času izvajanja, zato je hitrost izvajanja počasnejša v primerjavi z zgodnjo vezavo.
Zgodnja vezava proti pozni vezavi | |
Postopek uporabe informacij o razredu za razrešitev klica metode, ki se zgodi v času prevajanja, se imenuje Early Binding. | Postopek uporabe predmeta za razrešitev klica metode, ki se zgodi v času izvajanja, se imenuje Pozno vezanje. |
Čas vezave | |
Zgodnja vezava se zgodi v času prevajanja. | Pozno vezava se zgodi v času izvajanja. |
Funkcionalnost | |
Early Binding uporablja informacije o razredu za reševanje klicev metode. | Pozno vezanje uporablja objekt za reševanje klica metode. |
Sinonimi | |
Zgodnje vezanje je znano tudi kot statična vezava ... | Pozno vezanje je znano tudi kot dinamična vezava. |
Pojav | |
Načini preobremenitve se vežejo z uporabo zgodnje vezave. | Prekrite metode se vežejo z uporabo pozne vezave. |
Hitrost izvajanja | |
Hitrost izvajanja je hitrejša pri zgodnji vezavi. | Hitrost izvedbe je pri pozni vezavi nižja. |
OOP se običajno uporablja za razvoj programske opreme. Eden glavnih stebrov OOP je polimorfizem. Zgodnja vezava in pozna vezava sta povezana s tem. Zgodnja vezava se zgodi v času prevajanja, medtem ko se pri izvajanju zgodi pozna vezava. Pri preobremenitvi metode se vezanje zgodi z uporabo zgodnje vezave. Pri pretiranem načinu se vezava zgodi z uporabo pozne vezave. Razlika med zgodnjim in poznim vezanjem je v tem, da zgodnje vezanje uporablja informacije o razredu za reševanje klicev metode, medtem ko pozno vezanje uporablja objekt za reševanje klicanja metode.
1.Java Intervju 04 - Statična vezava vs dinamična vezava, Vadnice za Mahiko, 27. december 2017. Na voljo tukaj
2.Dinamična metoda odpreme na Javi | Vadnica za osnovno Java | Študijska noč. Na voljo tukaj