Miks on dünaamiline sidumine polümorfismi rakendamisel oluline?
Miks on dünaamiline sidumine polümorfismi rakendamisel oluline?

Video: Miks on dünaamiline sidumine polümorfismi rakendamisel oluline?

Video: Miks on dünaamiline sidumine polümorfismi rakendamisel oluline?
Video: Miks esineb kiusamist? 2024, November
Anonim

Dünaamiline sidumine võimaldab liikmefunktsiooni väljakutse lahendada tööajal vastavalt objekti viite käitusaja tüübile. See võimaldab pärimishierarhias igal kasutaja määratud klassil olla erinev rakendamine konkreetsest funktsioonist.

Seda silmas pidades, mis on polümorfism, selgitab dünaamilise sidumise rolli polümorfismi rakendamisel?

Seda me nimetame staatiliseks siduv : siduv nimed juhtuvad kompileerimise ajal (st staatilised). Sellist mehhanismi nimetatakse dünaamiline sidumine : siduv nimedest an rakendamine toimub tööajal (st dünaamiline ). Dünaamiline sidumine on vajalik objektorienteeritud programmeerimiskeelte jaoks rakendada polümorfismi.

Samamoodi, mis on dünaamilise sidumise kasu? Staatiline siduv kasutab tüübi (Java klass) teavet siduv samal ajal dünaamiline sidumine kasutab lahendamiseks objekti siduv . Ülekoormatud meetodid ühendatakse staatiliselt siduv samas kui tühistatud meetodid on seotud kasutades dünaamiline sidumine tööajal.

Seejärel tekib küsimus, kas dünaamiline sidumine on polümorfism?

Polümorfism Javas on kahte tüüpi: kompileerimisaeg polümorfism (staatiline siduv ) ja Kestus polümorfism ( dünaamiline sidumine ). Oluline näide sellest polümorfism on see, kuidas vanemklass viitab alamklassi objektile. Tegelikult on iga objekt, mis rahuldab rohkem kui ühte IS-A suhet polümorfsed looduses.

Kuidas on dünaamiline sidumine oops kasulik?

Dünaamiline sidumine saavutatakse virtuaalsete funktsioonide abil. Põhiklassi osuti osutab tuletatud klassiobjektile. Ja funktsioon deklareeritakse põhiklassis virtuaalseks, seejärel tuvastatakse sobiv funktsioon käitamise ajal virtuaalse tabeli sisestuse abil. Kuidas elemente an objektorienteeritud programmeerimiskeel ( OOP )?

Soovitan: