Legarea timpurie și legătura târzie sunt două concepte legate de polimorfism. Legarea timpurie are loc la momentul compilării, în timp ce legătura târzie are loc la timpul de execuție. diferența cheie între Legătura timpurie și târzie este asta Early Binding utilizează informațiile din clasă pentru a rezolva metoda de apelare în timp ce Late Binding utilizează obiectul pentru a rezolva apelul metodei.
Limbile de programare, cum ar fi Java, susțin 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. Studentul obiect poate avea caracteristici cum ar fi numele, vârsta și sunt reprezentate de proprietăți. Studentul obiect poate avea comportamente precum studiul și citirea și sunt reprezentate prin metode. Un pilon major al POR este polimorfismul. Acesta permite unui obiect să se comporte în mai multe moduri. Legarea timpurie și legătura târzie sunt două concepte în polimorfism. Metodele de suprasarcină sunt legate prin legarea timpurie. Metodele override sunt legate prin legarea târzie.
1. Prezentare generală și diferență cheie
2. Ce este Early Binding
3. Ce este târziu obligatoriu
4. Asemănări între legătura timpurie și târzie
5. Comparație comparativă comparativă - legătura timpurie și târzie în formă tabulară
6. rezumat
În Early Binding, informația de clasă este utilizată pentru a rezolva apelul metodic. Legarea timpurie are loc la momentul compilării. Este, de asemenea, cunoscut ca legarea statică. În acest proces, legarea are loc înainte ca programul să funcționeze. Metodele de suprasarcină sunt legate prin legarea timpurie. Consultați programul de mai jos.
Figura 01: Clasa de calcul
Figura 02: Programul principal pentru legarea timpurie
În conformitate cu programul de mai sus, clasa de calcul conține o metodă de adăugare care acceptă două valori întregi și o altă metodă de adăugare care acceptă două valori duble. În programul principal, este creat un obiect de tipul Calculation. Când se trece două numere întregi la metoda de adăugare, se va invoca metoda de adăugare care acceptă două numere întregi. Când treceți două valori duble la metoda de adăugare, va invoca metoda corespunzătoare a două valori duble. Acest proces de legare are loc la momentul compilării. Toate informațiile necesare sunt cunoscute înainte de timpul de execuție, astfel încât acestea sporesc eficiența programului și viteza de execuție.
În Late Binding, obiectul este folosit pentru a rezolva apelul metodei. Întârzierea legării are loc la timpul de execuție. Este, de asemenea, cunoscut sub numele de legare dinamică. În acest proces, legarea are loc la execuția programului. Metodele override sunt legate prin legarea târzie. Consultați programul de mai jos.
Figura 03: Clasa de formă
Figura 04: Clasa cercurilor
Figura 05: Clasa triunghiulară
Figura 06: Programul principal pentru legarea târzie
În conformitate cu programul de mai sus, clasa Shape are o metodă de tragere. Cursul de clasă și clasa de clasă Triunghi extinde clasa Shape. Prin urmare, aceste două clase pot moșteni atributele și metodele din clasa Shape. Forma de clasă este clasa de bază. Clasele de cercuri și triunghiuri sunt clase derivate. Cercul de clasă și triunghiul de clasă au, de asemenea, metoda de tragere cu propriile lor implementări. Deci, metoda remiză în clasa Shape este suprascrisă de metodele de tragere din clasele derivate.
În programul principal este creată o variabilă de referință s de tip Shape. La timpul de compilare, compilatorul va trimite doar metoda de tragere de clasă de bază. În timpul rulării vor fi executate diferite metode de tragere. Mai întâi, s va indica obiectul de tip Shape. Astfel, metoda inversă a clasei Shape este invocată. Apoi s va îndrepta către obiectul de tip Cerc și va invoca metoda de tragere a clasei Circle. În cele din urmă, s va indica obiectul triunghiului tip și va invoca metoda de tragere în triunghi. Metodele sunt numite în funcție de obiecte. Prin urmare, obiectul este folosit pentru a rezolva metoda de a apela în Late Binding. Informațiile necesare pentru legare sunt furnizate la timpul de execuție, deci viteza de execuție este mai lent comparativ cu legarea timpurie.
Legarea timpurie față de legătura târzie | |
Procesul de utilizare a informațiilor din clasă pentru a rezolva apelul metodic care apare la momentul compilării se numește Early Binding. | Procesul de utilizare a obiectului pentru rezolvarea apelului metodic care are loc la timpul de execuție se numește Legarea târzie. |
Timp de legare | |
Legarea timpurie se întâmplă la momentul compilării. | Întârzierea obligatorie se întâmplă la momentul executării. |
Funcționalitate | |
Early Binding utilizează informațiile din clasă pentru a rezolva metoda de apelare. | Late Binding utilizează obiectul pentru a rezolva metoda de a apela. |
Sinonime | |
Legarea timpurie este, de asemenea, cunoscută ca legare statică ... | Legarea târzie este, de asemenea, cunoscută ca legare dinamică. |
Apariţie | |
Metodele de suprasarcină sunt legate prin legarea timpurie. | Metodele override sunt legate prin legarea târzie. |
Viteză de execuție | |
Viteza de execuție este mai rapidă în legarea timpurie. | Viteza de execuție este mai mică în legarea târzie. |
OOP este folosit în mod obișnuit pentru dezvoltarea de software. Un pilon major al OOP este polimorfismul. Legarea timpurie și legătura târzie sunt legate de aceasta. Legarea timpurie are loc la timpul de compilare, în timp ce legarea târzie are loc la timpul de execuție. În procesul de supraîncărcare, legarea se întâmplă utilizând legarea timpurie. În metoda de suprimare, legarea se întâmplă folosind legarea târzie. Diferența dintre Legarea timpurie și târzie este că Early Binding utilizează informațiile din clasă pentru a rezolva metoda de apelare în timp ce Late Binding utilizează obiectul pentru a rezolva metoda de a apela.
1.Interviul Java 04 - Legarea statică Vs dinamică de legare, Mahika Tutorials, 27 decembrie 2017. Disponibil aici
2.Metoda disecției dinamice în Java Core Java Tutorial | Studytonight. Disponibil aici