Peamine erinevus - varajane ja hiline köide
Varajane köitmine ja hiline köitmine on kaks polümorfismiga seotud mõistet. Varajane sidumine toimub kompileerimise ajal, hiline köide aga käitamise ajal. Peamine erinevus varajase ja hilise köitmise vahel on see, et varajane köitmine kasutab klassiteavet meetodikõne lahendamiseks, hiline köide aga meetodi kutsumise lahendamiseks objekti.
Programmeerimiskeeled, näiteks Java, toetavad objektile orienteeritud programmeerimist (OOP). See on paradigma, mis võimaldab programmi või tarkvara objektide abil üles ehitada. Tarkvaras on mitu objekti. Need objektid on omavahel ühendatud ja edastavad sõnumeid meetodite abil. Igal objektil on omadused ja käitumine. Tunnuseid kirjeldatakse omaduste või atribuutide abil. Käitumist kirjeldatakse meetodite abil. Objektil Õpilane võib olla selliseid omadusi nagu nimi, vanus ja neid esindavad omadused. Objektil Õpilane võib olla selline käitumine nagu õppimine ja lugemine ning neid esindavad meetodid. OOP üks peamisi sambaid on polümorfism. See võimaldab objektil käituda mitmel viisil. Varajane köitmine ja hiline köitmine on polümorfismi kaks mõistet. Ülekoormusmeetodid seotakse varase sidumise abil. Alistatavad meetodid on seotud hilise sidumisega.
SISU
1. Ülevaade ja peamine erinevus
2. Mis on varane köitmine
3. Mis on hiline köitmine
4. Varajase ja hilise köitmise sarnasused
5. Kõrvuti võrdlus - varajane ja hiline köide tabelina
6. Kokkuvõte
Mis on varajane köitmine?
Varajase sidumise korral kasutatakse klassi teavet meetodi kutsumise lahendamiseks. Varajane sidumine toimub kompileerimise ajal. Seda tuntakse ka kui staatilist sidumist. Selles protsessis toimub sidumine enne, kui programm tegelikult töötab. Ülekoormusmeetodid seotakse varase sidumise abil. Vaadake allolevat programmi.
Joonis 01: arvutusklass
Joonis 02: Varase köitmise põhiprogramm
Vastavalt ülaltoodud programmile sisaldab arvutusklass lisamismeetodit, mis aktsepteerib kahte täisarvu, ja teist lisamismeetodit, mis aktsepteerib kahte topeltväärtust. Põhiprogrammis luuakse objekti tüüpi arvutus. Kui edastate meetodile add kaks täisarvu, kutsub see meetodit Add, mis võtab vastu kaks täisarvu. Kui edastate kaks topeltväärtust meetodile add, kutsub see meetodi, mis vastab kahele topeltväärtusele. See sidumisprotsess toimub kompileerimise ajal. Kogu vajalik teave on enne käitusaega teada, seega suurendab see programmi tõhusust ja käivitamise kiirust.
Mis on hiline köitmine?
Hilise sidumise korral kasutatakse objekti meetodi kutsumise lahendamiseks. Hiline sidumine toimub käituse ajal. Seda tuntakse ka kui dünaamilist sidumist. Selles protsessis toimub sidumine programmi käivitamisel. Alistatavad meetodid on seotud hilise sidumisega. Vaadake allolevat programmi.
Joonis 03: Kujuklass
Joonis 04: Ringklass
Joonis 05: Kolmnurga klass
Joonis 06: Hilise köitmise põhiprogramm
Vastavalt ülaltoodud programmile on klassil Shape viigimeetod. Klass Circle ja klass Triangle laiendavad klassi Shape. Seetõttu saavad need kaks klassi pärida klassi Shape atribuudid ja meetodid. Kujuklass on põhiklass. Ring- ja kolmnurga klassid on tuletatud klassid. Klassil Ring ja klass Kolmnurgal on ka viigimeetod koos oma rakendustega. Niisiis, vormi klassis joonistamismeetod tühistatakse tuletatud klasside joonistamismeetoditega.
Põhiprogrammis luuakse Shape tüüpi võrdlusmuutuja s. Kompileerimise ajal viitab kompilaator ainult baasklassi joonistamismeetodile. Käitusajal käivitatakse erinevad joonistamismeetodid. Esiteks osutab s tüübi Shape objektile. Niisiis, kasutatakse Shape klassi joonistusmeetodit. Siis osutab s osale Circle tüüpi objektile ja see kutsub esile klassi Circle joonistamismeetodi. Lõpuks osutab s kolmiku kolmnurga objektile ja kutsub kolmnurga klassis joonistamismeetodit. Meetodeid nimetatakse sõltuvalt objektidest. Seetõttu kasutatakse objekti hilise sidumise meetodi kutsumise lahendamiseks. Sidumiseks vajalik teave esitatakse käitamise ajal, seega on täitmise kiirus varasema sidumisega võrreldes aeglasem.
Milline on varase köitmise ja hilise köitmise sarnasus?
Nii varajane kui ka hiline köitmine on seotud polümorfismiga, mis on OOP sammas
Mis vahe on varajase ja hilise köitmise vahel?
Erinev artikkel keskel enne tabelit
Varajane sidumine vs hiline köitmine |
|
Klassiteabe kasutamise protsessi kompileerimise ajal toimuva meetodikõne lahendamiseks nimetatakse varajaseks sidumiseks. | Käitamise ajal toimuva meetodi kutsumise lahendamiseks objekti kasutamist nimetatakse hiliseks sidumiseks. |
Köitmise aeg | |
Varajane sidumine toimub kompileerimise ajal. | Hiline sidumine toimub käitamise ajal. |
Funktsionaalsus | |
Varajane sidumine kasutab klassi teavet meetodi kutsumise lahendamiseks. | Hiline sidumine kasutab objekti kutsumise lahendamiseks objekti. |
Sünonüümid | |
Varajane köitmine on tuntud ka kui staatiline sidumine. | Hilist sidumist tuntakse ka kui dünaamilist sidumist. |
Esinemine | |
Ülekoormusmeetodid seotakse varase sidumise abil. | Alistatavad meetodid on seotud hilise sidumisega. |
Täitmise kiirus | |
Varajase sidumise korral on täitmise kiirus suurem. | Hilisel sidumisel on täitmiskiirus väiksem. |
Kokkuvõte - varajane ja hiline köitmine
OOP-d kasutatakse tavaliselt tarkvaraarenduses. OOP üks peamisi sambaid on polümorfism. Varajane sidumine ja hiline köitmine on sellega seotud. Varajane sidumine toimub kompileerimise ajal, hiline köitmine aga tööajal. Meetodi ülekoormamisel toimub sidumine varase sidumise abil. Meetodi eiramisel toimub sidumine hilise sidumise abil. Varajase ja hilise köitmise erinevus seisneb selles, et varajane sidumine kasutab klassiteavet meetodikõne lahendamiseks, hiline köide aga meetodi kutsumise lahendamiseks objekti.