Atšķirība starp agrīno un vēlo iesiešanu

Satura rādītājs:

Atšķirība starp agrīno un vēlo iesiešanu
Atšķirība starp agrīno un vēlo iesiešanu

Video: Atšķirība starp agrīno un vēlo iesiešanu

Video: Atšķirība starp agrīno un vēlo iesiešanu
Video: Static and Dynamic binding in C++ with examples (Early and Late binding) 2024, Novembris
Anonim

Galvenā atšķirība - agrīna vai vēlīna iesiešana

Agrīna saistīšana un vēlīna saistīšana ir divi ar polimorfismu saistīti jēdzieni. Agrīnā saistīšana notiek kompilēšanas laikā, savukārt vēlīnā saistīšana notiek izpildlaikā. Galvenā atšķirība starp agrīno un vēlo saistīšanu ir tāda, ka agrīnā saistīšana izmanto klases informāciju, lai atrisinātu metodes izsaukšanu, savukārt vēlīnā saistīšana izmanto objektu, lai atrisinātu metodes izsaukšanu.

Programmēšanas valodas, piemēram, Java, atbalsta objektorientēto programmēšanu (OOP). Tā ir paradigma, kas ļauj konstruēt programmu vai programmatūru, izmantojot objektus. Programmatūrā ir vairāki objekti. Šie objekti ir savienoti viens ar otru un nodod ziņojumus, izmantojot metodes. Katram objektam ir īpašības un uzvedība. Raksturlielumus raksturo īpašības vai atribūti. Uzvedību apraksta, izmantojot metodes. Objektam Students var būt tādas īpašības kā vārds, vecums, un tos attēlo īpašības. Objektam Students var būt tādas uzvedības kā mācīšanās un lasīšana, un tās attēlo metodes. Viens no galvenajiem OOP balstiem ir polimorfisms. Tas ļauj objektam izturēties vairākos veidos. Agrīna saistīšana un vēlīna saistīšana ir divi polimorfisma jēdzieni. Pārslodzes metodes tiek savienotas, izmantojot agrīnu iesiešanu. Ignorētās metodes tiek piesaistītas, izmantojot vēlo saistīšanu.

Kas ir agrīnā iesiešana?

Early Binding ietvaros klases informācija tiek izmantota, lai atrisinātu metodes izsaukšanu. Agrīna saistīšana notiek kompilēšanas laikā. To sauc arī par statisko iesiešanu. Šajā procesā saistīšana notiek, pirms programma faktiski tiek palaista. Pārslodzes metodes tiek savienotas, izmantojot agrīnu iesiešanu. Skatiet tālāk norādīto programmu.

Atšķirība starp agrīno un vēlo iesiešanu
Atšķirība starp agrīno un vēlo iesiešanu

Attēls 01: Aprēķinu klase

Atšķirība starp agrīno un vēlo iesiešanu_attēls 02
Atšķirība starp agrīno un vēlo iesiešanu_attēls 02

Attēls 02: Galvenā programma agrīnai iesiešanai

Saskaņā ar iepriekš minēto programmu Calculation klasē ir pievienošanas metode, kas pieņem divas veselas vērtības, un vēl viena pievienošanas metode, kas pieņem divas dubultās vērtības. Galvenajā programmā tiek izveidots aprēķinu tipa objekts. Nododot divus veselus skaitļus pievienošanas metodei, tā izsauks pievienošanas metodi, kas pieņem divus veselus skaitļus. Nododot pievienošanas metodei divas dubultās vērtības, tā izsauks metodi, kas atbilst divām dubultvērtībām. Šis saistīšanas process notiek kompilēšanas laikā. Visa nepieciešamā informācija ir zināma pirms izpildes laika, tāpēc tas palielina programmas efektivitāti un izpildes ātrumu.

Kas ir vēlā iesiešana?

Vēlajā saistīšanā objekts tiek izmantots, lai atrisinātu metodes izsaukšanu. Vēlīna saistīšana notiek izpildlaikā. To sauc arī par dinamisko iesiešanu. Šajā procesā saistīšana notiek programmas izpildes laikā. Ignorētās metodes tiek piesaistītas, izmantojot vēlo saistīšanu. Skatiet tālāk norādīto programmu.

Atšķirība starp agrīno un vēlo iesiešanu_03. attēls
Atšķirība starp agrīno un vēlo iesiešanu_03. attēls

03. attēls: formas klase

Atšķirība starp agrīno un vēlo iesiešanu_04. attēls
Atšķirība starp agrīno un vēlo iesiešanu_04. attēls

4. attēls: Apļa klase

Atšķirība starp agrīno un vēlo iesiešanu_05. attēls
Atšķirība starp agrīno un vēlo iesiešanu_05. attēls

05. attēls: Trijstūra klase

Galvenās atšķirības starp agrīno un vēlo iesiešanu
Galvenās atšķirības starp agrīno un vēlo iesiešanu

Attēls 06: Galvenā programma vēlīnai iesiešanai

Saskaņā ar iepriekš minēto programmu, klasei Shape ir zīmēšanas metode. Klase Aplis un klase Trijstūra klase paplašina Shape klasi. Tāpēc šīs divas klases var mantot Shape klases atribūtus un metodes. Shape Class ir bāzes klase. Apļa un trīsstūra klases ir atvasinātas klases. Klasei Circle un klasē Triangle ir arī zīmēšanas metode ar savām implementācijām. Tātad zīmēšanas metodi Shape klasē ignorē atvasināto klašu zīmēšanas metodes.

Galvenajā programmā tiek izveidots Shape tipa atsauces mainīgais s. Kompilēšanas laikā kompilators atsauksies tikai uz bāzes klases zīmēšanas metodi. Izpildes laikā tiks izpildītas dažādas vilkšanas metodes. Pirmkārt, s norādīs uz Shape tipa objektu. Tātad tiek izsaukta Shape klases zīmēšanas metode. Tad s norādīs uz Circle tipa objektu, un tas izsauks Circle klases zīmēšanas metodi. Visbeidzot, s norādīs uz objektu, kura tips ir Triangle, un tas izsauks zīmēšanas metodi Triangle klasē. Metodes tiek izsauktas atkarībā no objektiem. Tāpēc objekts tiek izmantots, lai atrisinātu metodes izsaukšanu vēlīnā saistīšanā. Iesiešanai nepieciešamā informācija tiek sniegta izpildes laikā, tāpēc izpildes ātrums ir lēnāks, salīdzinot ar agrīnu saistīšanu.

Kāda ir līdzība starp agrīno iesiešanu un vēlo iesiešanu?

Gan agrīnā saistīšana, gan vēlīnā saistīšana ir saistītas ar polimorfismu, kas ir OOP balsts

Kāda ir atšķirība starp agrīno iesiešanu un vēlo iesiešanu?

Agrīna iesiešana pret vēlu iesiešanu

Klases informācijas izmantošanas procesu, lai atrisinātu metožu izsaukšanu, kas notiek kompilēšanas laikā, sauc par agrīno saistīšanu. Objekta izmantošanas procesu, lai atrisinātu metodes izsaukšanu, kas notiek izpildes laikā, sauc par vēlo saistīšanu.
Iesiešanas laiks
Agrīna saistīšana notiek kompilēšanas laikā. Vēlā saistīšana notiek izpildlaikā.
Funkcionalitāte
Early Binding izmanto klases informāciju, lai atrisinātu metodes izsaukšanu. Late Binding izmanto objektu, lai atrisinātu metodes izsaukšanu.
Sinonīmi
Agrīna iesiešana ir pazīstama arī kā statiskā iesiešana.. Vēlā iesiešana ir pazīstama arī kā dinamiskā iesiešana.
Atgadījums
Pārslodzes metodes tiek savienotas, izmantojot agrīnu iesiešanu. Iesaistītās metodes tiek savienotas, izmantojot vēlo iesiešanu.
Izpildes ātrums
Izpildes ātrums ir ātrāks agrīnā saistīšanā. Izpildes ātrums ir mazāks vēlīnā iesiešanā.

Kopsavilkums - agrīna vai vēlā iesiešana

OOP parasti izmanto programmatūras izstrādei. Viens no galvenajiem OOP balstiem ir polimorfisms. Agrīna iesiešana un vēlā iesiešana ir saistītas ar to. Agrīna saistīšana notiek kompilēšanas laikā, savukārt vēlā saistīšana notiek izpildlaikā. Metodes pārslodzes gadījumā savienošana notiek, izmantojot agrīno saistīšanu. Metodes ignorēšanas gadījumā savienošana notiek, izmantojot vēlo saistīšanu. Atšķirība starp agrīno un vēlo saistīšanu ir tāda, ka agrīnā saistīšana izmanto klases informāciju, lai atrisinātu metodes izsaukšanu, savukārt vēlīnā saistīšana izmanto objektu, lai atrisinātu metodes izsaukšanu.

Ieteicams: