Bakit mahalaga ang Dynamic na pagbubuklod sa pagpapatupad ng polymorphism?
Bakit mahalaga ang Dynamic na pagbubuklod sa pagpapatupad ng polymorphism?

Video: Bakit mahalaga ang Dynamic na pagbubuklod sa pagpapatupad ng polymorphism?

Video: Bakit mahalaga ang Dynamic na pagbubuklod sa pagpapatupad ng polymorphism?
Video: Design Patterns in Salesforce (Ep. 2) - What is Object Oriented Programming (OOP)? 2024, Mayo
Anonim

Dynamic na pagbubuklod nagbibigay-daan sa isang tawag sa function ng miyembro na malutas sa oras ng pagtakbo, ayon sa uri ng run-time ng isang object reference. Pinapahintulutan nito ang bawat klase na tinukoy ng user sa isang hierarchy ng mana na magkaroon ng iba pagpapatupad ng isang partikular na function.

Sa pagpapanatiling nakikita ito, ano ang ipinapaliwanag ng polymorphism ang papel na ginagampanan ng dynamic na binding sa pagpapatupad ng polymorphism?

Ito ang tinatawag nating static nagbubuklod : ang nagbubuklod ng mga pangalan ay nangyayari sa oras ng pag-compile (i.e., static). Ang ganitong mekanismo ay tinatawag dinamikong pagbubuklod : ang nagbubuklod ng mga pangalan sa isang pagpapatupad nangyayari sa oras ng pagtakbo (ibig sabihin, pabago-bago ). Dynamic na pagbubuklod ay kinakailangan para sa object-oriented programming language upang ipatupad ang polymorphism.

Katulad nito, ano ang gamit ng dynamic na binding? Static nagbubuklod gumagamit ng Uri (klase sa Java) na impormasyon para sa nagbubuklod habang dinamikong pagbubuklod gumagamit ng bagay upang malutas nagbubuklod . Ang mga overloaded na pamamaraan ay pinagsama gamit ang static nagbubuklod habang ang mga na-override na pamamaraan ay pinagsama-sama gamit dinamikong pagbubuklod sa runtime.

Kasunod nito, ang tanong ay, ang dinamikong nagbubuklod na polymorphism?

Polymorphism sa Java ay may dalawang uri: Compile time polymorphism (static nagbubuklod ) at Runtime polymorphism ( dinamikong pagbubuklod ). Isang mahalagang halimbawa ng polymorphism ay kung paano tumutukoy ang isang parent class sa isang child class object. Sa katunayan, ang anumang bagay na nakakatugon sa higit sa isang IS-A na relasyon ay polymorphic sa kalikasan.

Paano kapaki-pakinabang ang Dynamic na binding sa oops?

Dynamic na pagbubuklod ay nakakamit gamit ang mga virtual function. Ang base class pointer ay tumuturo sa nagmula na object ng klase. At ang isang function ay idineklara na virtual sa base class, pagkatapos ay ang pagtutugma ng function ay kinilala sa run-time gamit ang virtual table entry. Paano ipinapasa ang mga elemento sa isang object-oriented programming language ( OOP )?

Inirerekumendang: