De ce este importantă legarea dinamică în implementarea polimorfismului?
De ce este importantă legarea dinamică în implementarea polimorfismului?

Video: De ce este importantă legarea dinamică în implementarea polimorfismului?

Video: De ce este importantă legarea dinamică în implementarea polimorfismului?
Video: Simple Explanation of Polymorphism and Dynamic Binding 2024, Decembrie
Anonim

Legare dinamică permite ca un apel de funcție membru să fie rezolvat în timpul execuției, în funcție de tipul de execuție al unei referințe de obiect. Acest lucru permite fiecărei clase definite de utilizator dintr-o ierarhie de moștenire să aibă o altă clasă implementare a unei anumite funcţii.

Ținând acest lucru în vedere, ce este polimorfismul explică rolul pe care îl joacă legarea dinamică în implementarea polimorfismului?

Aceasta este ceea ce numim static legare : cel legare de nume au loc în timpul compilării (adică, static). Un astfel de mecanism se numește legarea dinamică : cel legare de nume la an implementare se întâmplă în timpul rulării (adică dinamic ). Legare dinamică este necesar pentru limbajele de programare orientate pe obiecte implementează polimorfismul.

În mod similar, la ce folosește legarea dinamică? Static legare folosește informații despre tip (clasa în Java) pentru legare in timp ce legarea dinamică folosește obiectul pentru a rezolva legare . Metodele supraîncărcate sunt legate folosind statice legare în timp ce metodele anulate sunt legate folosind legarea dinamică în timpul rulării.

Ulterior, întrebarea este, este polimorfismul de legare dinamică?

Polimorfism în Java are două tipuri: Timp de compilare polimorfism (static legare ) și Runtime polimorfism ( legarea dinamică ). Un exemplu important de polimorfism este modul în care o clasă părinte se referă la un obiect de clasă copil. De fapt, orice obiect care satisface mai multe relații IS-A este polimorfă în natură.

Cât de utilă este legarea dinamică în hopa?

Legare dinamică se realizează folosind funcții virtuale. Pointerul clasei de bază indică către obiectul clasei derivate. Și o funcție este declarată virtuală în clasa de bază, apoi funcția de potrivire este identificată în timpul execuției folosind intrarea tabelului virtual. Cum sunt trecute elementele într-un orientat pe obiecte limbaj de programare ( OOP )?

Recomandat: