Atšķirība starp agrīnu un vēlu iesiešanu

Galvenā atšķirība - agri vs vēlu iesiešana
 

Agrīna iesiešana un vēlīna iesiešana ir divi jēdzieni, kas saistīti ar polimorfismu. Agrīna iesiešana notiek kompilācijas laikā, bet vēlīna saistoša - izpildes laikā. galvenā atšķirība starp agrīno un vēlo iesiešanu tas ir Early Binding izmanto klases informāciju, lai atrisinātu metodes izsaukšanu, savukārt Late Binding 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 izturēšanās. Raksturlielumus raksturo īpašības vai atribūti. Uzvedība tiek aprakstīta, izmantojot metodes. Objektam Studentam var būt tādas īpašības kā vārds, vecums, un tos attēlo īpašības. Objekts Studentam var būt tāda uzvedība kā mācīšanās un lasīšana, un to attēlo metodes. Viens no galvenajiem OOP pīlāriem ir polimorfisms. Tas ļauj objektam izturēties vairākos veidos. Agrīna iesiešana un vēlīna iesiešana ir divi jēdzieni polimorfismā. Pārslodzes metodes tiek savienotas, izmantojot agrīnu iesiešanu. Pārspīlētās metodes tiek savienotas, izmantojot novēloto iesiešanu.

SATURS

1. Pārskats un galvenās atšķirības
2. Kas ir agrīna iesiešana
3. Kas ir novēlota iesiešana
4. Līdzības starp agrīno un vēlo iesiešanu
5. Salīdzinājums blakus - agrīna un vēla iesiešana tabulas formā
6. Kopsavilkums

Kas ir agrīna iesiešana?

Agrīnajā iesiešanā klases informācija tiek izmantota, lai atrisinātu metodes izsaukšanu. Agrīna iesiešana notiek kompilēšanas laikā. To sauc arī par statisko iesiešanu. Šajā procesā iesiešana notiek pirms programmas faktiskās palaišanas. Pārslodzes metodes tiek savienotas, izmantojot agrīnu iesiešanu. Skatiet zemāk esošo programmu.

01. attēls. Aprēķina klase

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

Saskaņā ar iepriekš minēto programmu aprēķināšanas klasē ir pievienotā metode, kas pieņem divas veselas skaitļa vērtības, un vēl viena pievienošanas metode, kas pieņem divas dubultās vērtības. Pamatprogrammā tiek izveidots objekta tips Calculation. Kad pievienošanas metodei tiek nodoti divi veseli skaitļi, 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 dubultā vērtībām. Šis iesiešanas process notiek kompilēšanas laikā. Visa nepieciešamā informācija ir zināma pirms izpildlaika, tāpēc tas palielina programmas efektivitāti un izpildes ātrumu.

Kas ir novēlota iesiešana?

Late Binding objektā tiek izmantots metodes izsaukšanas risinājums. Vēla saistīšana notiek izpildlaikā. To sauc arī par dinamiska iesiešana. Šajā procesā iesiešana notiek programmas izpildē. Pārspīlētās metodes tiek savienotas, izmantojot novēloto iesiešanu. Skatiet zemāk esošo programmu.

03. attēls. Formas klase

04. attēls: apļa klase

05. attēls: trīsstūra klase

06. attēls. Galvenā programma vēlu iesiešanai

Saskaņā ar iepriekšminēto programmu, klases formā ir izlozes metode. Class Circle un Class Triangle klase paplašina Shape klasi. Tāpēc šīs divas klases var mantot Shape klases atribūtus un metodes. Formas klase ir pamatklase. Apļa un trīsstūra klases ir atvasinātas klases. Klases aplim un klases trīsstūrim ir arī izlozes metode ar savām ieviešanām. Tātad, izlozes metode Shape klasē tiek aizstāta ar atvasināto klašu izlozes metodēm.

Pamatprogrammā tiek izveidots Shape tipa atsauces mainīgais. Apkopošanas laikā kompilators atsaucas tikai uz bāzes klases izlozes metodi. Runtime tiks izpildītas dažādas izlozes metodes. Pirmkārt, s norāda uz Shape tipa objektu. Tātad tiek pielietota Shape klases izlozes metode. Tad s norāda uz apļa tipa objektu un izsauc apļa klases izlozes metodi. Visbeidzot, s norādīs uz trīsstūra tipa objektu un izsauks zīmēšanas metodi trīsstūra klasē. Metodes tiek izsauktas atkarībā no objektiem. Tāpēc objekts tiek izmantots, lai atrisinātu metodes izsaukšanu vēlīnā iesiešanā. Iesiešanai nepieciešamā informācija tiek sniegta izpildes laikā, tāpēc izpildes ātrums ir lēnāks, salīdzinot ar agrīno iesiešanu.

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

  • Gan agrīna, gan vēlīna iesiešana ir saistīta ar polimorfismu, kas ir OOP pīlārs.

Kāda ir atšķirība starp agrīnu iesiešanu un novēlotu iesiešanu?

Agrīna iesiešana vs vēlīna iesiešana

Klases informācijas izmantošanas procesu, lai atrisinātu metodes izsaukšanu, kas notiek kompilēšanas laikā, sauc par Early Binding. Objekta izmantošanas procesu, lai atrisinātu metodes izsaukšanu, kas notiek izpildes laikā, sauc par Late Binding.
 Iesiešanas laiks
Agrīna iesiešana notiek sastādīšanas laikā. Vēla iesiešana notiek izpildes laikā.
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īnā iesiešana ir pazīstama arī kā statiskā iesiešana ... Vēlā iesiešana ir pazīstama arī kā dinamiskā iesiešana.
Notikums
Pārslodzes metodes tiek savienotas, izmantojot agrīnu iesiešanu. Pārspīlētās metodes tiek savienotas, izmantojot novēloto iesiešanu.
Izpildes ātrums
Sākuma iesiešanas laikā izpildes ātrums ir ātrāks. Vēlajā iesiešanā izpildes ātrums ir mazāks.

Kopsavilkums - agri vs vēlu iesiešana

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

Atsauce:

1.Java Intervija 04 - Statiskā iesiešana un dinamiskā iesiešana, Mahika konsultācijas, 2017. gada 27. decembris. Pieejams šeit
2.Dinamiskās metodes nosūtīšana Java | Core Java apmācība | Studiju gaisma. Pieejams šeit