Diferența cheie - Legare timpurie vs
Legarea timpurie și legarea târzie sunt două concepte legate de polimorfism. Legarea timpurie are loc la compilare, în timp ce legarea târzie are loc la rulare. Diferența cheie între legarea timpurie și legarea târzie este că legarea timpurie folosește informațiile despre clasă pentru a rezolva apelarea metodei, în timp ce legarea târzie utilizează obiectul pentru a rezolva apelarea metodelor.
Limbaje de programare, cum ar fi Java, acceptă programarea orientată pe obiecte (OOP). Este o paradigmă care permite construirea programului sau a software-ului folosind obiecte. Există mai multe obiecte în software. Aceste obiecte sunt conectate între ele și transmit mesaje folosind metode. Fiecare obiect are caracteristici și comportamente. Caracteristicile sunt descrise de proprietăți sau atribute. Comportamentele sunt descrise folosind metode. Obiectul Student poate avea caracteristici precum numele, vârsta și sunt reprezentate de proprietăți. Obiectul Student poate avea comportamente precum studiul și citirea și sunt reprezentate prin metode. Un pilon major al POO este polimorfismul. Permite unui obiect să se comporte în mai multe moduri. Legarea timpurie și legarea târzie sunt două concepte în polimorfism. Metodele de supraîncărcare sunt legate prin legarea timpurie. Metodele suprascrise sunt legate prin legarea tardivă.
CUPRINS
1. Prezentare generală și diferența cheie
2. Ce este legarea timpurie
3. Ce este legarea târzie
4. Asemănări între legarea timpurie și cea tardivă
5. Comparație side by side - Legarea timpurie vs tardivă în formă tabelară
6. Rezumat
Ce este Early Binding?
În Early Binding, informațiile despre clasă sunt utilizate pentru a rezolva apelarea metodei. Legarea timpurie are loc la compilare. Este, de asemenea, cunoscut sub numele de legare statică. În acest proces, legarea are loc înainte ca programul să ruleze efectiv. Metodele de supraîncărcare sunt legate prin legarea timpurie. Consultați programul de mai jos.
Figura 01: Clasa de calcul
Figura 02: Programul principal pentru legarea timpurie
Conform programului de mai sus, clasa Calculul conține o metodă add care acceptă două valori întregi și o altă metodă add care acceptă două valori duble. În programul principal, este creat un obiect de tip Calcul. Când treceți două numere întregi la metoda add, va invoca metoda add care acceptă două numere întregi. Când treceți două valori duble metodei add, aceasta va invoca metoda corespunzătoare a două valori duble. Acest proces de legare are loc la compilare. Toate informațiile necesare sunt cunoscute înainte de runtime, deci crește eficiența programului și viteza de execuție.
Ce este legarea târzie?
În legarea târzie, obiectul este utilizat pentru a rezolva apelarea metodei. Legarea târzie are loc în timpul rulării. Este, de asemenea, cunoscut sub numele de legare dinamică. În acest proces, legarea are loc la executarea programului. Metodele suprascrise sunt legate prin legarea tardivă. Consultați programul de mai jos.
Figura 03: Clasa de formă
Figura 04: Clasa Circle
Figura 05: Clasa de triunghi
Figura 06: Programul principal pentru legarea târzie
Conform programului de mai sus, clasa Shape are o metodă de extragere. Clasa Cercul și clasa Clasa Triunghi extinde clasa Formă. Prin urmare, aceste două clase pot moșteni atributele și metodele clasei Shape. Clasa de formă este clasa de bază. Clasele Cerc și Triunghi sunt clase derivate. Clasa Cerc și Triunghiul clasei au, de asemenea, metoda de extragere cu propriile lor implementări. Deci, metoda draw în clasa Shape este anulată de metodele draw din clasele derivate.
În programul principal, se creează o variabilă de referință s de tip Shape. În momentul compilării, compilatorul va face referire doar la metoda de extragere a clasei de bază. În timpul rulării, se vor executa diferite metode de extragere. În primul rând, s va indica obiectul de tip Shape. Deci, se invocă metoda draw din clasa Shape. Apoi, s va indica obiectul de tip Cerc și va invoca metoda de extragere a clasei Cerc. În cele din urmă, s va indica obiectul de tip Triunghi și va invoca metoda de extragere în clasa Triunghi. Metodele sunt numite în funcție de obiecte. Prin urmare, obiectul este folosit pentru a rezolva apelarea metodei în Late Binding. Informațiile necesare pentru legare sunt furnizate în timpul rulării, astfel încât viteza de execuție este mai lentă în comparație cu legarea timpurie.
Care este asemănarea dintre legarea timpurie și legarea târzie?
Atât legarea timpurie, cât și legarea târzie sunt legate de polimorfismul care este un pilon al POO
Care este diferența dintre legarea timpurie și legarea târzie?
Difuzarea articolului din mijloc înainte de tabel
Legarea timpurie vs legarea târzie |
|
Procesul de utilizare a informațiilor de clasă pentru a rezolva apelarea metodei care are loc la compilare se numește Early Binding. | Procesul de utilizare a obiectului pentru a rezolva apelarea metodei care are loc în timpul rulării se numește legare tardivă. |
Timpul de legare | |
Legarea timpurie are loc la compilare. | Legarea târzie se întâmplă în timpul rulării. |
Funcționalitate | |
Early Binding folosește informațiile despre clasă pentru a rezolva apelarea metodelor. | Late Binding folosește obiectul pentru a rezolva apelarea metodei. |
Sinonime | |
Legarea timpurie este, de asemenea, cunoscută sub numele de legare statică. | Legarea târzie este, de asemenea, cunoscută sub numele de legare dinamică. |
Apariție | |
Metodele de supraîncărcare sunt legate prin legarea timpurie. | Metodele suprascrise sunt legate prin legarea tardivă. |
Viteza de execuție | |
Viteza de execuție este mai rapidă la legarea timpurie. | Viteza de execuție este mai mică la legarea târzie. |
Rezumat - Legare timpurie vs legătură târzie
OOP este utilizat în mod obișnuit pentru dezvoltarea de software. Un pilon major al POO este polimorfismul. Legarea timpurie și legarea târzie sunt legate de asta. Legarea timpurie are loc la compilare, în timp ce legarea târzie are loc la rulare. În supraîncărcarea metodei, lipirea are loc folosind legarea timpurie. În cazul suprasolicitării metodei, legarea are loc folosind legarea târzie. Diferența dintre Early Binding și Late Binding este că Early Binding folosește informațiile despre clasă pentru a rezolva apelarea metodei, în timp ce Late Binding utilizează obiectul pentru a rezolva apelarea metodelor.