Varför är dynamisk bindning viktigt för att implementera polymorfism?
Varför är dynamisk bindning viktigt för att implementera polymorfism?

Video: Varför är dynamisk bindning viktigt för att implementera polymorfism?

Video: Varför är dynamisk bindning viktigt för att implementera polymorfism?
Video: 🚀 RUTUBE and POINT. RUTUBA development in 5 hours *WITHOUT WATER* [Next / React / Nest / PostgreSQL 2024, Maj
Anonim

Dynamisk bindning tillåter att ett medlemsfunktionsanrop löses vid körning, enligt körtidstypen för en objektreferens. Detta tillåter varje användardefinierad klass i en arvshierarki att ha olika genomförande av en viss funktion.

Med tanke på detta, vad är polymorfism som förklarar rollen dynamisk bindning spelar i implementeringen av polymorfism?

Detta är vad vi kallar statiskt bindande : den bindande av namn inträffar vid kompilering (dvs statiskt). En sådan mekanism kallas dynamisk bindning : den bindande av namn till en genomförande händer vid körning (dvs. dynamisk ). Dynamisk bindning är nödvändigt för objektorienterade programmeringsspråk implementera polymorfism.

På samma sätt, vad är användningen av dynamisk bindning? Statisk bindande använder typ (klass i Java) information för bindande medan dynamisk bindning använder objekt för att lösa bindande . Överbelastade metoder binds med statisk bindande medan åsidosatta metoder binds med dynamisk bindning vid körning.

Därefter är frågan, är dynamisk bindande polymorfism?

Polymorfism i Java har två typer: Kompileringstid polymorfism (statisk bindande ) och Runtime polymorfism ( dynamisk bindning ). Ett viktigt exempel på polymorfism är hur en överordnad klass refererar till ett underordnat klassobjekt. Faktum är att alla objekt som uppfyller mer än en IS-A-relation är det polymorf i naturen.

Hur dynamisk bindning är användbar i oops?

Dynamisk bindning uppnås med hjälp av virtuella funktioner. Basklasspekaren pekar på ett härlett klassobjekt. Och en funktion deklareras virtuell i basklassen, sedan identifieras matchningsfunktionen vid körning med hjälp av virtuell tabellpost. Hur skickas element i en objektorienterad programmeringsspråk ( OOP )?

Rekommenderad: