Prečo je dynamická väzba dôležitá pri implementácii polymorfizmu?
Prečo je dynamická väzba dôležitá pri implementácii polymorfizmu?

Video: Prečo je dynamická väzba dôležitá pri implementácii polymorfizmu?

Video: Prečo je dynamická väzba dôležitá pri implementácii polymorfizmu?
Video: 🚀 AMAZON 2.0 - ИНТЕРНЕТ МАГАЗИН с нуля за 6 часов [Next / React / Nest / PostgreSQL / Prisma / TS] 2024, November
Anonim

Dynamická väzba umožňuje vyriešiť volanie členskej funkcie v čase spustenia podľa typu spustenia odkazu na objekt. To umožňuje, aby každá trieda definovaná používateľom v hierarchii dedičnosti mala inú implementáciu konkrétnej funkcie.

Vzhľadom na to, čo je polymorfizmus vysvetľuje úlohu dynamickej väzby pri implementácii polymorfizmu?

Tomu hovoríme statické viazanie : viazanie mená sa vyskytujú v čase kompilácie (t. j. statické). Takýto mechanizmus je tzv dynamická väzba : viazanie mien do an implementáciu prebieha v čase spustenia (t.j. dynamický ). Dynamická väzba je nevyhnutné pre objektovo orientované programovacie jazyky implementovať polymorfizmus.

Podobne, aké je použitie dynamického viazania? Statické viazanie používa informácie typu (trieda v jazyku Java). viazanie zatiaľ čo dynamická väzba používa objekt na riešenie viazanie . Preťažené metódy sú spojené pomocou statiky viazanie zatiaľ čo prepísané metódy sú spojené pomocou dynamická väzba za behu.

Následne je otázkou, či je dynamický väzbový polymorfizmus?

Polymorfizmus v Jave má dva typy: Čas kompilácie polymorfizmus (statický viazanie ) a Runtime polymorfizmus ( dynamická väzba ). Dôležitým príkladom polymorfizmus je to, ako rodičovská trieda odkazuje na objekt triedy potomka. V skutočnosti každý objekt, ktorý spĺňa viac ako jeden vzťah IS-A, je polymorfný v prírode.

Ako je dynamická väzba užitočná v oops?

Dynamická väzba sa dosahuje pomocou virtuálnych funkcií. Ukazovateľ základnej triedy ukazuje na objekt odvodenej triedy. A funkcia je deklarovaná ako virtuálna v základnej triede, potom sa zodpovedajúca funkcia identifikuje za behu pomocou záznamu virtuálnej tabuľky. Ako sa prenášajú prvky v objektovo orientovaný programovací jazyk ( OOP )?

Odporúča: