Pagkakaiba sa Pagitan ng Encapsulation at Abstraction

Pagkakaiba sa Pagitan ng Encapsulation at Abstraction
Pagkakaiba sa Pagitan ng Encapsulation at Abstraction

Video: Pagkakaiba sa Pagitan ng Encapsulation at Abstraction

Video: Pagkakaiba sa Pagitan ng Encapsulation at Abstraction
Video: ⛔️PAANO GUMAWA NG WEBSITE NANG LIBRE❗️❓ | STEP-BY-STEP TUTORIAL❗️ | WEBSITE TUTORIALS 2024, Nobyembre
Anonim

Encapsulation vs Abstraction

Ang Encapsulation at Abstraction ay dalawang magkaibang ngunit magkaugnay na konsepto na makikita sa mga wikang OOP (Object Oriented Programming). Ang Encapsulation ay ang konsepto ng pagsasama-sama ng data at pag-uugali bilang isang entity. Sa kabilang banda, ang Abstraction ay ang proseso ng pagpapakita kung paano kumikilos ang isang entity kumpara sa kung paano ito ipinapatupad.

Ano ang Encapsulation?

Ang Encapsulation ay ang proseso ng pagbabalot ng data at pagpapatakbo na gumagana sa mga ito sa iisang entity. Nangangahulugan ito na para ma-access ang data, dapat gumamit ng ilang mga paunang natukoy na pamamaraan. Sa madaling salita, hindi direktang naa-access ang naka-encapsulated na data. Tinitiyak nito na mapangalagaan ang integridad ng data dahil hindi direktang ma-access at mabago ng user ang data ayon sa gusto niya. Ang mga gumagamit ay makakakuha o magtatakda ng mga halaga ng data lamang sa pamamagitan ng mga pamamaraan na pampublikong magagamit sa mga gumagamit. Ang mga pamamaraang ito ay karaniwang nagbibigay ng data validation upang ang data lamang sa naaangkop na format ang pinapayagang maipasok sa mga field. Samakatuwid, ang mga benepisyo ng Encapsulation ay tatlong beses. Sa pamamagitan ng Encapsulation, ang programmer ay maaaring gumawa ng mga field ng isang klase na read-only o write only. Pangalawa, ang isang klase ay maaaring magkaroon ng kabuuang kontrol sa kung ano ang nakaimbak sa mga field nito. Sa wakas, ang mga gumagamit ng isang klase ay hindi kailangang mag-alala kung paano iniimbak ang data nito. Sa Java, maaaring ideklara ng programmer na pribado ang lahat ng instance variable at magbigay ng get and set method (na pampubliko) para ma-access at mabago ang mga pribadong field.

Ano ang Abstraction?

Ang Abstraction ay ang proseso ng paghihiwalay ng mga detalye ng presentasyon mula sa mga detalye ng pagpapatupad. Ginagawa ito upang ang developer ay mapawi sa mas kumplikadong mga detalye ng pagpapatupad. Sa halip, maaaring tumuon ang programmer sa presentasyon o mga detalye ng pag-uugali ng entity. Sa simpleng mga termino, ang abstraction ay nakatuon sa kung paano magagamit ang isang partikular na entity sa halip na kung paano ito ipinapatupad. Mahalagang itinago ng abstraction ang mga detalye ng pagpapatupad, upang kahit na magbago ang pamamaraan ng pagpapatupad sa paglipas ng panahon, hindi kailangang mag-alala ang programmer kung paano ito makakaapekto sa kanyang programa. Ang isang sistema ay maaaring i-abstract sa ilang mga layer o antas. Halimbawa, ang mga low-level abstraction layer ay magbubunyag ng mga detalye ng hardware, habang ang high-level abstraction ay magbubunyag lamang ng business logic ng entity. Ang terminong abstraction ay maaaring gamitin upang sumangguni sa isang entity at isang proseso at ito ay humahantong sa ilang pagkalito. Bilang isang proseso, ang abstraction ay nangangahulugan ng pagkuha ng mga mahahalagang detalye habang binabalewala ang mga hindi mahalagang detalye ng isang item o isang pangkat ng mga item, habang bilang isang entity, ang abstraction ay nangangahulugang isang modelo o isang view ng isang entity na may mga mahahalagang detalye lamang. Sa Java, maaaring gamitin ng programmer ang keyword na abstract upang ideklara ang isang klase bilang abstract entity, na kumakatawan sa mahahalagang pagtukoy sa katangian ng isang real world entity.

Ano ang pagkakaiba ng Encapsulation at Abstraction?

Kahit na ang Encapsulation at Abstraction ay lubos na nauugnay na mga konsepto na matatagpuan sa mga Object Oriented Programming na wika, mayroon silang mga pangunahing pagkakaiba. Ang abstraction ay isang pamamaraan, na tumutulong sa atin na matukoy kung ano ang dapat makita at kung ano ang dapat itago. Ang Encapsulation ay ang mga pamamaraan para sa pag-iimpake ng impormasyon na ginagawang nakikita kung ano ang dapat makita at itinatago kung ano ang dapat itago. Sa madaling salita, ang Encapsulation ay maaaring matukoy bilang isang hakbang na lampas sa abstraction. Bagama't binabawasan ng abstraction ang isang real world object sa mahahalagang katangian nito sa pagtukoy, pinapalawak ng encapsulation ang ideyang ito sa pamamagitan ng pagmomodelo at pag-link sa functionality na ito ng entity na iyon.

Inirerekumendang: