Miért fontos a dinamikus kötés a polimorfizmus megvalósításában?
Miért fontos a dinamikus kötés a polimorfizmus megvalósításában?

Videó: Miért fontos a dinamikus kötés a polimorfizmus megvalósításában?

Videó: Miért fontos a dinamikus kötés a polimorfizmus megvalósításában?
Videó: Simple Explanation of Polymorphism and Dynamic Binding 2024, November
Anonim

Dinamikus kötés lehetővé teszi egy tagfüggvény hívás feloldását futás közben, egy objektumhivatkozás futásidejű típusának megfelelően. Ez lehetővé teszi, hogy az öröklési hierarchiában minden felhasználó által meghatározott osztály eltérő legyen végrehajtás egy adott funkcióról.

Ezt szem előtt tartva, mi a polimorfizmus magyarázata a dinamikus kötés szerepére a polimorfizmus megvalósításában?

Ezt nevezzük statikusnak kötés : az kötés nevek fordítása során fordulnak elő (azaz statikusan). Az ilyen mechanizmust ún dinamikus kötés : az kötés nevek egy végrehajtás futási időben történik (pl. dinamikus ). Dinamikus kötés szükséges az objektumorientált programozási nyelvekhez megvalósítani a polimorfizmust.

Hasonlóképpen, mi a haszna a dinamikus kötésnek? Statikus kötés típushoz (Java-ban osztály) információt használ kötés míg dinamikus kötés objektumot használ a feloldáshoz kötés . A túlterhelt módszereket statikus kötéssel rögzítik kötés míg a felülírt metódusok segítségével dinamikus kötés futásidőben.

Ezt követően a kérdés az, hogy dinamikus kötési polimorfizmus?

Polimorfizmus Java-ban két típusa van: Fordítási idő polimorfizmus (statikus kötés ) és Runtime polimorfizmus ( dinamikus kötés ). Fontos példa arra polimorfizmus a szülő osztály hogyan hivatkozik egy gyermek osztály objektumra. Valójában minden olyan objektum, amely egynél több IS-A kapcsolatot is kielégít polimorf a természetben.

Mennyire hasznos a dinamikus kötés a hoppá?

Dinamikus kötés virtuális funkciók segítségével érhető el. Az alaposztály mutatója a származtatott osztályobjektumra mutat. És egy függvényt virtuálisnak deklarálunk az alaposztályban, majd a megfelelő függvényt futás közben azonosítjuk a virtuális tábla bejegyzésével. Hogyan kerülnek átadásra az elemek egy objektum orientált programozási nyelv ( OOP )?

Ajánlott: