Waarom is dinamiese binding belangrik in die implementering van polimorfisme?
Waarom is dinamiese binding belangrik in die implementering van polimorfisme?

Video: Waarom is dinamiese binding belangrik in die implementering van polimorfisme?

Video: Waarom is dinamiese binding belangrik in die implementering van polimorfisme?
Video: Gregory Chaitin: Complexity, Metabiology, Gödel, Cold Fusion 2024, Desember
Anonim

Dinamiese binding laat 'n lidfunksie-oproep toe om tydens looptyd opgelos te word, volgens die looptydtipe van 'n objekverwysing. Dit laat elke gebruikergedefinieerde klas in 'n erfenishiërargie toe om 'n ander te hê implementering van 'n bepaalde funksie.

Met dit in die oog, wat is polimorfisme verduidelik die rol wat dinamiese binding speel in die implementering van polimorfisme?

Dit is wat ons staties noem bindend : die bindend van name gebeur tydens samestellingstyd (d.w.s. staties). So 'n meganisme word genoem dinamiese binding : die bindend van name aan 'n implementering gebeur tydens looptyd (d.w.s. dinamies ). Dinamiese binding is nodig vir objekgeoriënteerde programmeertale om polimorfisme te implementeer.

Net so, wat is die nut van dinamiese binding? Staties bindend gebruik Tipe (klas in Java) inligting vir bindend terwyl dinamiese binding gebruik voorwerp om op te los bindend . Oorlaaide metodes word gebind met behulp van statiese bindend terwyl oorheersende metodes gebind word met behulp van dinamiese binding tydens looptyd.

Gevolglik is die vraag, is dinamiese bindende polimorfisme?

Polimorfisme in Java het twee tipes: Stel tyd polimorfisme (staties bindend ) en Looptyd polimorfisme ( dinamiese binding ). 'n Belangrike voorbeeld van polimorfisme is hoe 'n ouerklas na 'n kindklasvoorwerp verwys. Trouens, enige voorwerp wat meer as een IS-A-verhouding bevredig, is polimorfies in die natuur.

Hoe dinamiese binding nuttig is in oeps?

Dinamiese binding word bereik met behulp van virtuele funksies. Basisklaswyser wys na afgeleide klasobjek. En 'n funksie word virtueel in die basisklas verklaar, dan word die ooreenstemmende funksie tydens looptyd geïdentifiseer met behulp van virtuele tabelinskrywing. Hoe word elemente deurgegee in 'n objekgeoriënteerde programmeertaal ( OOP )?

Aanbeveel: