Hovedforskjell: Abstraksjon og innkapsling er datavitenskapsprogrammeringskonsepter. En abstraksjon er en prosess, der de ekstra egenskapene til dataene fjernes eller skilles fra dataene; mens en innkapsling er en mekanisme hvor dataene er skjult og bundet i metoder.
Abstraksjon er en generalisert prosess der ekstra data blir tatt bort og fjernet for å gjøre dataene konkrete. I datamaskiner er det en programmeringsmetode som hjelper til med å konvertere dataene til en kortfattet form. Dataene og programmet endres ikke i denne metoden, men de holdes i samme innledende form; Den eneste forskjellen er at de reduseres til en mindre presentabel form. Abstraksjon forsøker å redusere og faktorere detaljene, slik at programmereren kan fokusere på noen få konsepter om gangen.
Et system kan ha mange slike lag av abstraksjoner, som har forskjellige betydninger og detaljer. For eksempel eksponerer lavnivå abstraksjonslag detaljer av maskinvarevaren der programmet kjører, mens høynivålag omhandler forretningslogikken til programmet. Disse detaljene blir da utsatt for programmerer på tidspunktet for utførelsen. Abstraksjon er et konsept eller en ide, som ikke er knyttet til noen bestemt forekomst. Det fanger bare de detaljene av dataene som er opptatt av dens objekter og nåværende perspektiver. Det spiller en viktig rolle i familien av objekter (i begreper Object Oriented-Programming). og brukes på forskjellige måter og implementeringer.
Begrepet abstraksjon kan implementeres i:
- Kontroll Abstraksjon: Det er abstraksjonen av handlinger.
- Data Abstraction: Det tillater og håndterer databiter og datastrukturer på meningsfulle måter.
Innkapsling i dataprogrammering fremhever sine funksjoner i to forskjellige notater, de er som:
- En språkmekanisme som begrenser tilgangen til enkelte objektets komponenter.
- En språkkonstruksjon som gjør det mulig å kombinere data med metodene (og andre funksjoner) som opererer på dataene.
Innkapsling er skjulingsmekanismer, som spiller en viktig rolle i å beskytte og sikre data fra de utenomstående. Det gir faktisk grunnleggende integritet til dataene ved å forhindre misbruk av virkelige data. Ved innkapsling lagres og åpnes dataene i sitt originale gyldige og konsistente format.
Generelt betyr innkapsling å bevare en gjenstand fra brukeren og representere den i en generell form. I utgangspunktet, i innkapsling er de ekstra detaljene skjult fra omgivelsene. Objektfeltene blir direkte inspisert og manipulert i denne mekanismen. Informasjonen som gjemmer seg sammen med møblene, er kompilert i en versjon, som videre brukes som kildekoden og er grensesnittet via en headerfil. Noen ganger prøver de offentlige klassene å få tilgang til dataene, i disse tilfellene tillater ikke innkapslingen de offentlige inntrengerne å spille med dataene. En av de største fordelene med innkapsling er at den hjelper til med å redusere kompleksiteten til et program, og hjelper brukerne å forstå de nøyaktige konseptene i programmet, da mekanismene representerer kun den koncise form av programmet. Dette øker robustheten ved å tillate utvikleren eller programmereren å begrense interavhengighetene mellom programvarekomponenter. Encapsulation er også anvendelig på enkelte språk som, Smalltalk og Ruby, der tilgangen bare er tillatt via objektmetoder; mens de fleste andre liker, C ++, C # eller Java gir en grad av kontroll til programmereren. Disse språkene gir utviklerne tilgang til over det som er skjult ved hjelp av søkeord som offentlige og private.
Abstraksjonen og innkapslingen er også viktige grunnleggende i OOP (Object Oriented-Programming).
Sammenligning mellom abstraksjon og innkapsling:
Abstraksjon | innkapsling | |
Kort beskrivelse | Abstraksjon er en prosess, som trekker ut viktige detaljer om et element eller en gruppe elementer, og ignorerer de uendelige detaljene. | Innkapsling er en prosess som bryter inn eller omslutter dataene i en kapsel eller gjør dataene konsise. |
De er | Abstraksjon relaterer seg til ideen om å skjule data som ikke er nødvendig for presentasjon. | Encapsulation er gruppering av data og funksjonalitet. |
Grunnleggende funksjoner | I utgangspunktet brukes abstraksjon til å skjule de uønskede dataene, og den gir de relevante dataene. | I utgangspunktet betyr innkapsling at skjule koden og dataene i en enkelt enhet for å beskytte dataene fra omverdenen. |
Når opereres de? | Den driver problemet i designnivå. | Det driver problemet i implementeringsnivået. |
Gunstig for rollene | Det hjelper brukeren å fokusere på hva objektet gjør i stedet for hvordan det gjør noen funksjon. | Det hjelper programmereren å skjule de interne detaljene eller mekanikkene til hvordan en gjenstand gjør noe. |
Informasjon er | Her er informasjonen skilt fra de virkelige dataene. | Her er informasjonen pakket inn i et skjult format. |
oppsett | Det er opptatt av det ytre layoutet, som brukes når det gjelder design. | Det er opptatt av det indre layoutet, som brukes i form av implementering. |
For eksempel | Den ytre utseendet på en mobiltelefon, som har en skjerm og tastaturknapper for å ringe et nummer. | Innvendig implementeringsdetaljer for en mobiltelefon, hvordan tastaturknappen og skjermen er koblet til hverandre ved bruk av kretser. |