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 apstraktne klase i klase betona

    Razlika između apstraktne klase i klase betona

    Ključna razlika: Postoje dvije glavne vrste klasa: Sažetak i Konkretna klasa. Glavna razlika između njih proizlazi iz razine implementacije njihovih metodoloških funkcionalnosti. Konkretne klase su redovne klase, gdje se sve metode u potpunosti provode. Apstraktna klasa je upravo ono što joj ime sugerira. Tam
  • razlika između: Razlika između razrijeđene i koncentrirane otopine

    Razlika između razrijeđene i koncentrirane otopine

    Ključna razlika: Razrijeđena otopina sadrži manje otopljene tvari od koncentrirane otopine, što u osnovi znači da se razrijeđena otopina manje miješa u njoj, dok koncentrirana otopina ima više miješanih otopina. Rješenje je vrsta smjese u koju se dodaje jedna ili više stvari. Dodana stvar je poznata kao otopljena tvar, dok se stvar u koju se dodaje naziva otapalo. Jedna od
  • razlika između: Razlika između senfa i rafiniranog ulja

    Razlika između senfa i rafiniranog ulja

    Ključna razlika: Općenito, senfovo ulje se dobiva iz sjemenki gorušice, dok su rafinirana ulja opća ulja za kuhanje koja se dobivaju rafiniranjem sirovih ulja. Ulja i njihovi oblici primjenjuju se u raznim industrijskim i kuhinjskim sektorima. Globalno gledajući, naftna društva i industrije imaju veliki udio u svjetskim ekonomskim sektorima. Ulja
  • razlika između: Razlika između apatije i empatije

    Razlika između apatije i empatije

    Ključna razlika: Riječ apatija je zapravo odsustvo emocija ili nedostatka brige. S druge strane, riječ empatija znači stavljanje sebe u tuđi položaj ili cipele i osjećaj njihove boli kao da je vaša. Pojmovi apatija i empatija često su zbunjeni jer sličnosti između te dvije riječi. Često se ne koriste ove riječi zbog njihovog izgovora. Međutim, te
  • razlika između: Razlika između modela Nokia Lumia 920 i BlackBerry Z10

    Razlika između modela Nokia Lumia 920 i BlackBerry Z10

    Ključna razlika: Jedan od prvih pametnih telefona pod markom je Nokia Lumia 920. Nokia Lumia 920 jedan je od prvih telefona koji se razvio na Windows Phone 8. Pokrenut je u studenom 2012. kao vodeći telefon. BlackBerry Z10 je najnoviji smartphone koji je u siječnju 2013. objavio Research in Motion. O
  • razlika između: Razlika između VoIP i IP telefonije

    Razlika između VoIP i IP telefonije

    Ključna razlika: Pojmovi VoIP i IP telefonija često se koriste kao sinonimi. U većini slučajeva ta dva pojma su praktički ista. Ako se mora razlikovati između dva, može se reći da je VoIP specifična vrsta IP telefonije. Pojmovi VoIP i IP telefonija često se koriste kao sinonimi i za to postoji razlog. U većini
  • razlika između: Razlika između sustava Android i Windows

    Razlika između sustava Android i Windows

    Ključna razlika: Android je open source, besplatan operativni sustav temeljen na Linuxu za pametne telefone i tablete. Sustav je dizajnirao i razvio Android Inc., koji je financiran i kasnije kupljen od strane Googlea 2005. Windows je serija grafičkih korisničkih sučelja koju je razvio i prodao Microsoft. Su
  • razlika između: Razlika između trgovačkog centra i trgovačkog centra

    Razlika između trgovačkog centra i trgovačkog centra

    Ključna razlika: Trgovački centri ili trgovački centri su veliki zatvoreni prostori koji su često obilježeni mnogim trgovinama koje prodaju robu javnosti. Trgovački centri mogu biti srednje do velike veličine, ovisno o konstrukciji i broju trgovina koje želi zadržati. Trgovački centri su trgovine koje su uređene u nizu i dijele zgradu. Ove trgov
  • razlika između: Razlika između ponovne uporabe i recikliranja

    Razlika između ponovne uporabe i recikliranja

    Ključna razlika: Koncept ponovne uporabe je kada se proizvod koji je novo kupljen stavi u drugu uporabu nakon što je prva uporaba završena. Recikliranje je prerada rabljenih materijala (otpada) u nove proizvode kako bi se spriječilo rasipanje potencijalno korisnih materijala. Tri zlatne riječi kako bi spasili naš planet: smanjite, ponovno upotrijebite i reciklirajte. Te s

Izbor Urednika

Razlika između modela Nokia Lumia 925 i Nokia Lumia 920

Ključna razlika: Nokia je nedavno najavila svoj novi vodeći telefon Nokia Lumia 925. Telefon dolazi s 4, 5-inčnim AMOLED kapacitivnim zaslonom osjetljivim na dodir koji zauzima dobar prostor na prednjoj strani, s zvučnikom i senzorima na vrhu. 4, 5-inčni kapacitivni zaslon ima isti PureMotion HD +, ClearBlack koji se nalazi u Lumiji 920. Jed