Mahalagang Pagkakaiba – Maaga kumpara sa Huli na Pagbubuklod
Ang Early Binding at Late Binding ay dalawang konseptong nauugnay sa Polymorphism. Ang Maagang Binding ay nangyayari sa oras ng pag-compile habang ang Late Binding ay nangyayari sa runtime. Ang pangunahing pagkakaiba sa pagitan ng Early at Late Binding ay ang Early Binding ay gumagamit ng impormasyon ng klase para lutasin ang method calling habang ang Late Binding ay gumagamit ng object para lutasin ang method calling.
Mga programming language gaya ng Java ay sumusuporta sa Object Oriented Programming (OOP). Ito ay isang paradigm na nagbibigay-daan sa pagbuo ng programa o ng software gamit ang mga bagay. Mayroong maraming mga bagay sa software. Ang mga bagay na ito ay konektado sa isa't isa at nagpapasa ng mga mensahe gamit ang mga pamamaraan. Ang bawat bagay ay may mga katangian at pag-uugali. Ang mga katangian ay inilalarawan ng mga katangian o katangian. Ang mga pag-uugali ay inilarawan gamit ang mga pamamaraan. Ang bagay na Mag-aaral ay maaaring magkaroon ng mga katangian tulad ng pangalan, edad at sila ay kinakatawan ng mga katangian. Ang bagay na Mag-aaral ay maaaring magkaroon ng mga pag-uugali tulad ng pag-aaral at pagbabasa, at ang mga ito ay kinakatawan ng mga pamamaraan. Ang isang pangunahing haligi ng OOP ay Polymorphism. Pinapayagan nito ang isang bagay na kumilos sa maraming paraan. Ang Early Binding at Late Binding ay dalawang konsepto sa Polymorphism. Ang mga pamamaraan ng overloading ay pinagsama gamit ang maagang pagbubuklod. Ang mga na-override na paraan ay pinagsasama gamit ang late binding.
Ano ang Early Binding?
Sa Early Binding, ginagamit ang impormasyon ng klase para lutasin ang method calling. Ang maagang pagbubuklod ay nangyayari sa oras ng pag-compile. Ito ay kilala rin bilang ang static na binding. Sa prosesong ito, nangyayari ang pagbubuklod bago aktwal na tumakbo ang programa. Ang mga pamamaraan ng overloading ay pinagsama gamit ang maagang pagbubuklod. Sumangguni sa programa sa ibaba.
Figure 01: Klase ng Pagkalkula
Figure 02: Pangunahing Programa para sa Maagang Pagbubuklod
Ayon sa programa sa itaas, ang klase ng Pagkalkula ay naglalaman ng paraan ng pagdaragdag na tumatanggap ng dalawang integer na halaga at isa pang paraan ng pagdaragdag na tumatanggap ng dalawang dobleng halaga. Sa pangunahing programa, nilikha ang isang object ng uri ng Pagkalkula. Kapag nagpapasa ng dalawang integer sa paraan ng pagdaragdag, ipapatawag nito ang paraan ng pagdaragdag na tumatanggap ng dalawang integer. Kapag nagpapasa ng dalawang dobleng halaga sa paraan ng pagdaragdag, ipapatawag nito ang pamamaraang naaayon sa dalawang dobleng halaga. Nagaganap ang prosesong ito sa pag-compile sa oras ng pag-compile. Ang lahat ng kinakailangang impormasyon ay alam bago ang runtime, kaya pinapataas nito ang kahusayan ng programa at bilis ng pagpapatupad.
Ano ang Late Binding?
Sa Late Binding, ginagamit ang object para lutasin ang method calling. Ang Late Binding ay nangyayari sa runtime. Ito ay kilala rin bilang dynamic na binding. Sa prosesong ito, nangyayari ang pagbubuklod sa pagpapatupad ng programa. Ang mga na-override na pamamaraan ay pinagsama-sama gamit ang late binding. Sumangguni sa programa sa ibaba.
Figure 03: Shape Class
Figure 04: Circle Class
Figure 05: Triangle Class
Figure 06: Pangunahing programa para sa Late Binding
Ayon sa programa sa itaas, ang class Shape ay may paraan ng pagguhit. Pinapalawak ng Class Circle at class Triangle class ang Shape class. Samakatuwid, ang dalawang klase na ito ay maaaring magmana ng mga katangian at pamamaraan ng klase ng Shape. Ang Shape Class ay ang base class. Ang mga klase ng Circle at Triangle ay mga derived na klase. Ang class Circle at class Triangle ay mayroon ding draw method na may sariling mga pagpapatupad. Kaya, ang paraan ng pagguhit sa klase ng Shape ay na-override ng mga paraan ng pagguhit ng mga hinangong klase.
Sa pangunahing programa, isang reference na variable na may uri ng Shape ang nagagawa. Sa oras ng pag-compile, ire-refer lang ng compiler ang base class draw method. Sa runtime, iba't ibang paraan ng pagguhit ang isasagawa. Una, ituturo ng s ang bagay na may uri ng Hugis. Kaya, ang paraan ng pagguhit ng klase ng Shape ay ginagamit. Pagkatapos ay ituturo ng s ang object ng uri ng Circle, at ito ay mag-invoke ng draw method ng Circle class. Sa wakas, ituturo ni s ang object ng uri ng Triangle, at ito ay mag-invoke ng draw method sa Triangle class. Ang mga pamamaraan ay tinatawag depende sa mga bagay. Samakatuwid, ang bagay ay ginagamit upang malutas ang paraan ng pagtawag sa Late Binding. Ang impormasyong kinakailangan para sa pagbubuklod ay ibinibigay sa oras ng pagtakbo, kaya ang bilis ng pagpapatupad ay mas mabagal kumpara sa maagang pagbubuklod.
Ano ang Pagkakatulad sa pagitan ng Maagang Pagbubuklod at Late Binding?
Ang parehong Early Binding at Late Binding ay nauugnay sa polymorphism na isang haligi ng OOP
Ano ang Pagkakaiba sa pagitan ng Early Binding at Late Binding?
Early Binding vs Late Binding |
|
Ang proseso ng paggamit ng impormasyon ng klase upang malutas ang paraan ng pagtawag na nangyayari sa oras ng pag-compile ay tinatawag na Early Binding. | Ang proseso ng paggamit ng object upang malutas ang paraan ng pagtawag na nangyayari sa oras ng pagtakbo ay tinatawag na Late Binding. |
Oras ng Pagbubuklod | |
Ang Maagang Binding ay nangyayari sa oras ng pag-compile. | Nangyayari ang Late Binding sa oras ng pagtakbo. |
Pag-andar | |
Early Binding ay gumagamit ng impormasyon ng klase upang lutasin ang paraan ng pagtawag. | Ginagamit ng Late Binding ang object para lutasin ang method calling. |
Mga kasingkahulugan | |
Ang Early Binding ay kilala rin bilang static binding.. | Late Binding ay kilala rin bilang dynamic na binding. |
Pangyayari | |
Ang mga paraan ng overloading ay pinagsama-sama gamit ang maagang pagbubuklod. | Ang mga na-override na paraan ay pinagsasama gamit ang late binding. |
Bilis ng Pagpapatupad | |
Mas mabilis ang execution sa early binding. | Mas mababa ang bilis ng pagpapatupad sa late binding. |
Buod – Maaga vs Late Binding
Ang OOP ay karaniwang ginagamit para sa pagbuo ng software. Ang isang pangunahing haligi ng OOP ay polymorphism. Ang Early Binding at Late Binding ay nauugnay diyan. Ang Maagang Binding ay nangyayari sa oras ng pag-compile habang ang Late Binding ay nangyayari sa runtime. Sa paraan ng overloading, ang pagbubuklod ay nangyayari gamit ang maagang pagbubuklod. Sa overriding ng pamamaraan, ang pagbubuklod ay nangyayari gamit ang late binding. Ang pagkakaiba sa pagitan ng Early at Late Binding ay ang Early Binding ay gumagamit ng class information para lutasin ang method calling habang ang Late Binding ay gumagamit ng object para resolbahin ang method calling.