Razlika između apstrakcije i enkapsulacije

Ključna razlika: apstrakcija i enkapsulacija su koncepti programiranja računalne znanosti. Apstrakcija je proces u kojem su dodatne karakteristike podataka uklonjene ili odvojene od podataka; dok je enkapsulacija mehanizam u kojem su podaci skriveni i grupirani u metode.

Apstrakcija je generalizirani proces u kojem se oduzimaju i uklanjaju dodatni podaci kako bi se podaci učinili konkretnima. U računalima, to je metoda programiranja koja pomaže u pretvaranju podataka u koncizan oblik. Podaci i program se ne mijenjaju u ovoj metodi, već se čuvaju u istom početnom obliku; jedina razlika je u tome što su reducirani na manji vidljivi oblik. Apstrakcija pokušava smanjiti i faktorizirati detalje, tako da se programer može usredotočiti na nekoliko pojmova u isto vrijeme.

Sustav može imati mnogo takvih slojeva apstrakcija, koji imaju različita značenja i detalje. Na primjer, slojevi apstrakcije niže razine razotkrivaju detalje računalnog hardvera na kojem se program izvodi, dok se slojevi na visokoj razini bave poslovnom logikom programa. Ti detalji su tada izloženi programeru u vrijeme izvršenja. Apstrakcija je pojam ili ideja, koja nije povezana ni s jednim konkretnim slučajem. On obuhvaća samo one podatke koji se odnose na njegove objekte i trenutne perspektive. Ona igra glavnu ulogu u obitelji objekata (u konceptima objektno-orijentiranog programiranja). i koristi se na različite načine i implementacije.

Koncept apstrakcije može se implementirati u:

  • Sažetak kontrole: To je apstrakcija djelovanja.
  • Apstrakcija podataka: Omogućuje i obrađuje bitove podataka i strukture podataka na smislene načine.

Inkapsulacija u računalnom programiranju naglašava njegove funkcije u dvije različite oznake, a to su:

  • Mehanizam jezika koji ograničava pristup komponentama nekog objekta.
  • Jezični konstrukt koji olakšava povezivanje podataka s metodama (i drugim funkcijama) koje djeluju na tim podacima.

Inkapsulacija je mehanizam skrivanja, koji igra ključnu ulogu u zaštiti i osiguravanju podataka od stranaca. On zapravo osigurava osnovni integritet podataka sprečavanjem zlouporabe stvarnih podataka. U enkapsulaciji se podaci pohranjuju i pristupa im se u izvornom valjanom i dosljednom formatu.

Općenito, enkapsulacija znači očuvanje objekta od korisnika i njegovo predstavljanje u općem obliku. Uglavnom, u enkapsulaciji, dodatni detalji su skriveni od vanjskog okruženja. Polja objekata izravno se pregledavaju i manipuliraju ovim mehanizmom. Informacije koje se skrivaju zajedno s opremom sastavljaju se u verziji koja se dalje koristi kao izvorni kod i povezuje se preko datoteke zaglavlja. Ponekad javne klase pokušavaju pristupiti podacima, u tim slučajevima enkapsulacija ne dopušta javnim napadačima da se igraju s podacima. Jedna od glavnih prednosti enkapsulacije je ta da pomaže u smanjenju složenosti programa i pomaže korisnicima da razumiju točne koncepte programa, jer mehanizmi predstavljaju samo jezgrovit oblik programa. To povećava robusnost, dopuštajući programeru ili programeru da ograniči međuovisnosti između softverskih komponenti. Encapsulacija je također primjenjiva u nekim jezicima, kao što su Smalltalk i Ruby, u kojima je pristup dopušten samo putem objektnih metoda; dok većina drugih, C ++, C # ili Java nudi određeni stupanj kontrole programeru. Ovi jezici omogućuju razvojnim inženjerima pristup preko onoga što je skriveno pomoću ključnih riječi kao što su javne i privatne.

Apstrakcija i enkapsulacija također su važne osnove u OOP-u (objektno-orijentirano programiranje).

Usporedba između apstrakcije i enkapsulacije:

Apstrakcija

ovijanje

Kratki opis

Apstrakcija je proces koji izdvaja bitne pojedinosti o stavci ili skupini stavki i zanemaruje nebitne pojedinosti.

Inkapsulacija je proces koji omata ili zatvara podatke u kapsuli ili ih čini jezgrovitim.

Oni su

Apstrakcija se odnosi na ideju skrivanja podataka koji nisu potrebni za prezentaciju.

Inkapsulacija je grupiranje podataka i funkcionalnosti.

Osnovne funkcije

U osnovi, apstrakcija se koristi za skrivanje neželjenih podataka i daje relevantne podatke.

U osnovi, enkapsulacija znači skrivanje koda i podataka u jednu jedinicu kako bi se zaštitili podaci od vanjskog svijeta.

Kada su operirani

To rješava problem na razini dizajna.

On upravlja problemom na razini provedbe.

Korist za uloge

Pomaže korisniku da se usredotoči na ono što objekt radi umjesto na to kako radi bilo koju funkciju.

Pomaže programeru u skrivanju unutarnjih detalja ili mehanike kako objekt radi nešto.

Informacije su

Ovdje su informacije odvojene od stvarnih podataka.

Ovdje su informacije zamotane u skrivenom obliku.

izgledi

Radi se o vanjskom izgledu, koji se koristi u smislu dizajna.

Riječ je o unutarnjem rasporedu koji se koristi u smislu provedbe.

Na primjer

Vanjski izgled mobilnog telefona, koji ima zaslon i tipke na tipkovnici za biranje broja.

Unutarnji detalj provedbe mobilnog telefona, kako su tipke na tipkovnici i zaslon zaslona međusobno povezani pomoću krugova.

Preporučeno

Vezani Članci

  • razlika između: Razlika između Samsung Galaxy Note 8.0 i Samsung Galaxy Mega 5.8

    Razlika između Samsung Galaxy Note 8.0 i Samsung Galaxy Mega 5.8

    Ključna razlika: Samsung Galaxy Note 8.0 nastoji popuniti prazninu između Galaxy Note II i Galaxy Note 10.1. Galaxy Note 8 ima 8 inčni TFT zaslon osjetljiv na dodir s rezolucijom 800 x 1280 piksela. Uređaj pokreće četverojezgreni 1, 6 GHz Cortex-A9 i 2 GB RAM-a. Uređaj radi na Android OS-u, v4.1.2 (J
  • razlika između: Razlika između uzajamnih fondova i dionica

    Razlika između uzajamnih fondova i dionica

    Ključna razlika: uzajamni fondovi i dionice su dvije različite vrste dostupnih investicijskih opcija. Dionice su vlasnički instrumenti koji nude vlasništvo u društvu u zamjenu za novac. Investitor ulaže kapital u zamjenu za glasačka prava u društvu. Iako se može kupiti dionica tvrtke, može se ulagati iu uzajamni fond. Umjesto
  • razlika između: Razlika između mobilnog i internetskog bankarstva

    Razlika između mobilnog i internetskog bankarstva

    Ključna razlika: Osnovna razlika između mobilnog bankarstva i internetskog bankarstva je u tome što se mobilnom bankarstvu pristupa putem aplikacije na pametnom telefonu, dok se internetskom bankarstvu pristupa putem preglednika, obično na računalu. U današnjem digitalnom dobu ljudi su navikli da sve informacije imaju na dohvat ruke. Ne s
  • razlika između: Razlika između ciklusa i bicikla

    Razlika između ciklusa i bicikla

    Ključna razlika: Ciklus se odnosi na redoviti proces rotacije, tip motora koji može biti u dva ili četiri ciklusa, dok se oblik s dva ciklusa naziva biciklom. Bicikl je vozilo s jednim pogonom, s jednim kotačem, s dva kotača, jedan iza drugog, pričvršćen za okvir. Ciklus i bicikl nemaju međusobne razlike, oni znače jedno te isto. Izumi ci
  • razlika između: Razlika između ne- i ne-

    Razlika između ne- i ne-

    Ključna razlika: Un- i Non- su dvije različite vrste negativnih prefiksa, što znači da su dio riječi koje treba dodati drugim riječima kako bi se promijenilo njihovo značenje. Prefiks ne predstavlja najkorisniji prefiks jer je najsvestraniji. Može se koristiti na bilo koji način is bilo kojom riječju. Razlikuj
  • razlika između: Razlika između Roku Stick i Amazon Fire Stick

    Razlika između Roku Stick i Amazon Fire Stick

    Ključna razlika: Roku Stick i Amazon Fire Stick i dva različita video streaming uređaja. Kao što ime sugerira Amazon Fire Stick je dizajniran i na tržištu Amazon, a Roku Stick je dizajniran i na tržištu Roku. Obje su prilično slične, ali ipak postoje neke razlike između njih. Roku Stick i Amazon Fire Stick i dva različita video streaming uređaja koji su dostupni na tržištu. Kao što ime s
  • razlika između: Razlika između BMP i PNG

    Razlika između BMP i PNG

    Ključna razlika: Bitmap se obično odnosi na nekomprimiranu sliku. U ovom formatu, slike se prikazuju piksel po pikselu koje se sastavljaju kako bi oblikovale sliku. PNG je kratica za Portable Network Graphics. Nastala je kao poboljšana i nepatentirana zamjena za GIF (Graphics Interchange Format). Dostupno je mnogo različitih formata datoteka. Oč
  • razlika između: Razlika između Leoparda i Snow Leoparda

    Razlika između Leoparda i Snow Leoparda

    Ključna razlika: Mac OS X Leopard (verzija 10.5) bio je šesti glavni OS koji je tvrtka objavila u listopadu 2007. i služio je kao Appleov desktop i poslužiteljski operativni sustav za Macintosh računala. Mac OS X Snow Leopard (verzija 10.6) je sedmi glavni operativni sustav koji je izdao Apple. To je nadogradnja na izvornu Leopard verziju 10.5. A
  • razlika između: Razlika između Windows Phone 7 i Windows Phone 8

    Razlika između Windows Phone 7 i Windows Phone 8

    Ključna razlika: Windows Phone 7 nije baš nadogradnja sustava Windows Mobile 6.5; to je potpuno obnovljen i novi operativni sustav. Windows Phone 7 je izgrađen na drugom kernelu iz sustava Windows Mobile i nije kompatibilan unatrag. Windows Phone 7 bio je prilično velik korak od operativnog sustava Windows Mobile 6.5.

Izbor Urednika

Razlika između kristala i stakla

Ključna razlika: Staklo je generičko ime, dok je kristal potkategorija stakla, načinjen na isti način kao i staklo, ali s različitim materijalima. Dakle, svi kristali su stakla, ali nije sve staklo kristal. Postoje tri glavna kriterija za kristal koji je uspostavila Europska unija 1969. godine: sadržaj olova veći od 24%, gustoća veća od 2, 90 i indeks refleksije od 1, 545. Znanstv