Kodėl dinaminis įrišimas yra svarbus įgyvendinant polimorfizmą?
Kodėl dinaminis įrišimas yra svarbus įgyvendinant polimorfizmą?

Video: Kodėl dinaminis įrišimas yra svarbus įgyvendinant polimorfizmą?

Video: Kodėl dinaminis įrišimas yra svarbus įgyvendinant polimorfizmą?
Video: Simple Explanation of Polymorphism and Dynamic Binding 2024, Gegužė
Anonim

Dinaminis įrišimas leidžia nario funkcijos iškvietimą išspręsti vykdymo metu, atsižvelgiant į objekto nuorodos vykdymo laiką. Tai leidžia kiekvienai vartotojo nustatytai klasei paveldėjimo hierarchijoje turėti skirtingą įgyvendinimas tam tikros funkcijos.

Turint tai omenyje, koks yra polimorfizmas, paaiškinantis dinaminio surišimo vaidmenį įgyvendinant polimorfizmą?

Tai mes vadiname statiniu privalomas : privalomas vardų įvyksta kompiliavimo metu (t. y. statiniai). Toks mechanizmas vadinamas dinaminis įrišimas : privalomas vardų į an įgyvendinimas vyksta paleidimo metu (t. y. dinamiškas ). Dinaminis įrišimas yra būtinas objektinio programavimo kalboms įgyvendinti polimorfizmą.

Panašiai, kam naudingas dinaminis įrišimas? Statinis privalomas naudoja Tipo (Java klasės) informaciją privalomas kol dinaminis įrišimas sprendimui naudoja objektą privalomas . Perkrauti metodai sujungiami naudojant statinį privalomas o nepaisyti metodai yra susieti naudojant dinaminis įrišimas vykdymo metu.

Vėliau kyla klausimas, ar dinaminis rišimosi polimorfizmas?

Polimorfizmas Java yra dviejų tipų: Kompiliavimo laikas polimorfizmas (statinis privalomas ) ir vykdymo laikas polimorfizmas ( dinaminis įrišimas ). Svarbus pavyzdys polimorfizmas yra tai, kaip pagrindinė klasė nurodo antrinės klasės objektą. Tiesą sakant, bet koks objektas, kuris tenkina daugiau nei vieną IS-A santykį, yra polimorfinis gamtoje.

Kuo naudingas dinaminis įrišimas?

Dinaminis įrišimas pasiekiama naudojant virtualias funkcijas. Bazinės klasės rodyklė nurodo išvestinį klasės objektą. O funkcija yra paskelbta virtualia bazinėje klasėje, tada atitikimo funkcija identifikuojama vykdymo metu naudojant virtualios lentelės įrašą. Kaip elementai perduodami an orientuota į objektą programavimo kalba ( OOP )?

Rekomenduojamas: