Erinevus varajase ja hilise sidumise vahel

Sisukord:

Erinevus varajase ja hilise sidumise vahel
Erinevus varajase ja hilise sidumise vahel

Video: Erinevus varajase ja hilise sidumise vahel

Video: Erinevus varajase ja hilise sidumise vahel
Video: А.В.Клюев - Джидду Кришнамурти - Мышление, Эмоции, Ум, Настоящий Момент, Поток - часть 1/2 2024, November
Anonim

Peamine erinevus – varane ja hiline sidumine

Varajane sidumine ja hiline sidumine on kaks polümorfismiga seotud mõistet. Varajane sidumine toimub kompileerimise ajal, hiline sidumine aga käitusajal. Peamine erinevus varajase ja hilise sidumise vahel on see, et Early Binding kasutab meetodi kutsumise lahendamiseks klassiteavet, samas kui hiline sidumine kasutab meetodi kutsumise lahendamiseks objekti.

Programmeerimiskeeled, nagu Java, toetavad objektorienteeritud programmeerimist (OOP). See on paradigma, mis võimaldab objektide abil programmi või tarkvara konstrueerida. Tarkvaras on mitu objekti. Need objektid on omavahel ühendatud ja edastavad sõnumeid meetodite abil. Igal objektil on omadused ja käitumine. Tunnused on kirjeldatud omaduste või atribuutidega. Käitumist kirjeldatakse meetodite abil. Objektil Õpilane võivad olla sellised omadused nagu nimi, vanus ja neid esindavad omadused. Objektil Õpilane võib olla selliseid käitumisviise nagu uurimine ja lugemine ning neid esindavad meetodid. Üks OOP põhisammas on polümorfism. See võimaldab objektil käituda mitmel viisil. Varajane sidumine ja hiline sidumine on polümorfismis kaks mõistet. Ülekoormusmeetodid ühendatakse varajase sidumise abil. Alistatavad meetodid seotakse hilise sidumise abil.

Mis on varajane sidumine?

Early Bindingis kasutatakse klassiteavet meetodi kutsumise lahendamiseks. Varajane sidumine toimub kompileerimise ajal. Seda tuntakse ka staatilise sidumisena. Selles protsessis toimub sidumine enne, kui programm tegelikult töötab. Ülekoormusmeetodid ühendatakse varajase sidumise abil. Vaadake allolevat programmi.

Erinevus varajase ja hilise sidumise vahel
Erinevus varajase ja hilise sidumise vahel

Joonis 01: Arvutusklass

Varajase ja hilise köitmise erinevus_joonis 02
Varajase ja hilise köitmise erinevus_joonis 02

Joonis 02: Varajase sidumise põhiprogramm

Vastav alt ül altoodud programmile sisaldab arvutusklass liitmismeetodit, mis aktsepteerib kahte täisarvu väärtust, ja teist liitmismeetodit, mis aktsepteerib kahte topeltväärtust. Põhiprogrammis luuakse arvutus tüüpi objekt. Kahe täisarvu edastamisel lisamismeetodile käivitab see lisamismeetodi, mis aktsepteerib kahte täisarvu. Kahe topeltväärtuse edastamisel lisamismeetodile käivitab see kahele topeltväärtusele vastava meetodi. See sidumisprotsess toimub kompileerimise ajal. Kogu vajalik teave on teada enne käitusaega, nii et see suurendab programmi tõhusust ja täitmise kiirust.

Mis on hiline sidumine?

Hilises sidumises kasutatakse objekti meetodi kutsumise lahendamiseks. Hiline sidumine toimub käitusajal. Seda tuntakse ka kui dünaamilist sidumist. Selles protsessis toimub sidumine programmi täitmisel. Alistatavad meetodid seotakse hilise sidumise abil. Vaadake allolevat programmi.

Varajase ja hilise köitmise erinevus_joonis 03
Varajase ja hilise köitmise erinevus_joonis 03

Joonis 03: Kuju klass

Varajase ja hilise köitmise erinevus_joonis 04
Varajase ja hilise köitmise erinevus_joonis 04

Joonis 04: Ringi klass

Varajase ja hilise köitmise erinevus_joonis 05
Varajase ja hilise köitmise erinevus_joonis 05

Joonis 05: Kolmnurga klass

Peamised erinevused varajase ja hilise sidumise vahel
Peamised erinevused varajase ja hilise sidumise vahel

Joonis 06: Hilise sidumise põhiprogramm

Vastav alt ül altoodud programmile on klassil Shape joonistamismeetod. Klass Circle ja klass Kolmnurk klass laiendab Shape klassi. Seetõttu võivad need kaks klassi pärida Shape klassi atribuudid ja meetodid. Shape Class on baasklass. Ringi ja kolmnurga klassid on tuletatud klassid. Klassidel Circle ja klassis Triangle on ka joonistamismeetod oma rakendustega. Seega alistavad Shape klassi joonistusmeetodi tuletatud klasside joonistusmeetodid.

Põhiprogrammis luuakse Shape tüüpi viitemuutuja s. Kompileerimise ajal viitab kompilaator ainult baasklassi joonistamise meetodile. Käitusajal käivituvad erinevad joonistusmeetodid. Esiteks osutab s Shape tüüpi objektile. Seega käivitatakse Shape klassi joonistusmeetod. Seejärel osutab s Circle tüüpi objektile ja see kutsub esile Circle klassi joonistusmeetodi. Lõpuks osutab s Triangle tüüpi objektile ja kutsub esile joonistusmeetodi klassis Triangle. Meetodeid kutsutakse sõltuv alt objektidest. Seetõttu kasutatakse objekti hilise sidumise meetodi kutsumise lahendamiseks. Sidumiseks vajalik teave esitatakse käitamisajal, seega on täitmise kiirus aeglasem võrreldes varajase sidumisega.

Milline on varajase ja hilise sidumise sarnasus?

Nii varajane sidumine kui ka hiline sidumine on seotud polümorfismiga, mis on OOP tugisammas

Mis vahe on varajasel ja hilisel sidumisel?

Varajane sidumine vs hiline köitmine

Klassi teabe kasutamist kompileerimise ajal toimuva meetodi kutsumise lahendamiseks nimetatakse varajaseks sidumiseks. Protsessi, mille käigus objekti kasutatakse käitusajal toimuva meetodi kutsumise lahendamiseks, nimetatakse hiliseks sidumiseks.
Köitmise aeg
Varajane sidumine toimub kompileerimise ajal. Hiline sidumine toimub käitamisajal.
Funktsionaalsus
Early Binding kasutab meetodi kutsumise lahendamiseks klassiteavet. Late Binding kasutab objekti meetodi kutsumise lahendamiseks.
Sünonüümid
Early Binding on tuntud ka kui staatiline köitmine.. Hiline köitmine on tuntud ka kui dünaamiline köitmine.
Esinemine
Ülekoormusmeetodid on ühendatud varajase sidumise abil. Alustatud meetodid ühendatakse hilise sidumise abil.
Täitmise kiirus
Varasemas sidumises on täitmiskiirus kiirem. Hilise köitmise puhul on täitmiskiirus väiksem.

Kokkuvõte – varane vs hiline köitmine

OOP-i kasutatakse tavaliselt tarkvara arendamiseks. Üks OOP põhisammas on polümorfism. Varajane sidumine ja hiline sidumine on sellega seotud. Varajane sidumine toimub kompileerimise ajal, hiline sidumine aga käitusajal. Meetodi ülekoormuse korral toimub sidumine varase sidumise abil. Meetodi alistamise korral toimub sidumine hilist sidumist kasutades. Varajase ja hilise sidumise erinevus seisneb selles, et Early Binding kasutab meetodi kutsumise lahendamiseks klassiteavet, samas kui hiline sidumine kasutab meetodi kutsumise lahendamiseks objekti.

Soovitan: