Hvorfor dynamisk binding er vigtig ved implementering af polymorfi?
Hvorfor dynamisk binding er vigtig ved implementering af polymorfi?

Video: Hvorfor dynamisk binding er vigtig ved implementering af polymorfi?

Video: Hvorfor dynamisk binding er vigtig ved implementering af polymorfi?
Video: Java Polymorphism Fully Explained In 7 Minutes 2024, Kan
Anonim

Dynamisk binding tillader et medlemsfunktionskald at blive løst på kørselstidspunktet i henhold til kørselstidstypen for en objektreference. Dette tillader hver brugerdefineret klasse i et arvehierarki at have en forskellig implementering af en bestemt funktion.

Med dette i betragtning, hvad er polymorfi, der forklarer den rolle, dynamisk binding spiller i implementeringen af polymorfi?

Det er det, vi kalder statisk bindende : det bindende af navne sker på kompileringstidspunktet (dvs. statisk). En sådan mekanisme kaldes dynamisk binding : det bindende af navne til en implementering sker på køretid (dvs. dynamisk ). Dynamisk binding er nødvendigt for objektorienterede programmeringssprog at implementere polymorfi.

På samme måde, hvad er brugen af dynamisk binding? Statisk bindende bruger Type (klasse i Java) information til bindende mens dynamisk binding bruger objekt til at løse bindende . Overbelastede metoder er bundet ved hjælp af statisk bindende mens tilsidesatte metoder er bundet vha dynamisk binding ved kørsel.

Efterfølgende er spørgsmålet, er dynamisk bindende polymorfi?

Polymorfi i Java har to typer: Kompileringstid polymorfi (statisk bindende ) og Runtime polymorfi ( dynamisk binding ). Et vigtigt eksempel på polymorfi er, hvordan en overordnet klasse refererer til et underordnet klasseobjekt. Faktisk er ethvert objekt, der opfylder mere end ét IS-A-forhold polymorf i naturen.

Hvordan Dynamisk binding er nyttig i oops?

Dynamisk binding opnås ved hjælp af virtuelle funktioner. Basisklassemarkøren peger på afledt klasseobjekt. Og en funktion erklæres virtuel i basisklassen, så identificeres den matchende funktion ved kørsel ved brug af virtuel tabelindtastning. Hvordan passeres elementer i en objektorienteret programmeringssprog ( OOP )?

Anbefalede: