Hvorfor dynamisk binding er viktig for å implementere polymorfisme?
Hvorfor dynamisk binding er viktig for å implementere polymorfisme?

Video: Hvorfor dynamisk binding er viktig for å implementere polymorfisme?

Video: Hvorfor dynamisk binding er viktig for å implementere polymorfisme?
Video: Simple Explanation of Polymorphism and Dynamic Binding 2024, Kan
Anonim

Dynamisk binding lar et medlemsfunksjonskall løses under kjøretid, i henhold til kjøretidstypen til en objektreferanse. Dette tillater hver brukerdefinert klasse i et arvehierarki å ha forskjellige gjennomføring av en bestemt funksjon.

Med tanke på dette, hva er polymorfisme og forklarer rollen dynamisk binding spiller i implementeringen av polymorfisme?

Dette er det vi kaller statisk bindende : den bindende av navn skjer på kompileringstidspunktet (dvs. statisk). En slik mekanisme kalles dynamisk binding : den bindende av navn til en gjennomføring skjer på kjøretid (dvs. dynamisk ). Dynamisk binding er nødvendig for objektorienterte programmeringsspråk implementere polymorfisme.

På samme måte, hva er bruken av dynamisk binding? Statisk bindende bruker Type (klasse i Java) informasjon for bindende samtidig som dynamisk binding bruker objekt for å løse bindende . Overbelastede metoder er bundet ved hjelp av statisk bindende mens overstyrte metoder er bundet ved hjelp av dynamisk binding ved kjøretid.

Spørsmålet er deretter, er dynamisk bindende polymorfisme?

Polymorfisme i Java har to typer: Kompileringstid polymorfisme (statisk bindende ) og Runtime polymorfisme ( dynamisk binding ). Et viktig eksempel på polymorfisme er hvordan en overordnet klasse refererer til et underordnet klasseobjekt. Faktisk er ethvert objekt som tilfredsstiller mer enn ett IS-A-forhold polymorf i naturen.

Hvordan dynamisk binding er nyttig i oops?

Dynamisk binding oppnås ved hjelp av virtuelle funksjoner. Basisklassepekeren peker på avledet klasseobjekt. Og en funksjon er erklært virtuell i basisklassen, deretter identifiseres den matchende funksjonen ved kjøring ved bruk av virtuell tabelloppføring. Hvordan sendes elementer i en objekt orientert programmeringsspråk ( OOP )?

Anbefalt: