Nøgleforskel: Abstraktion og indkapsling er computervidenskabsprogrammeringskoncepter. En abstraktion er en proces, hvor de ekstra karakteristika af dataene fjernes eller adskilles fra dataene; hvorimod en indkapsling er en mekanisme, hvor dataene er skjult og bundtet i metoder.
Abstraktion er en generaliseret proces, hvor de ekstra data fjernes og fjernes for at gøre dataene konkrete. I computere er det en programmeringsmetode, som hjælper med at konvertere dataene til en kortfattet form. Data og program ændres ikke i denne metode, men de opbevares i samme indledende form; Den eneste forskel er, at de reduceres til en mindre præsentabel form. Abstraktion forsøger at reducere og faktorere detaljerne, så programmereren kan fokusere på nogle få koncepter ad gangen.
Et system kan have mange sådanne lag af abstraktioner, som har forskellige betydninger og detaljer. For eksempel eksponerer lavniveau abstraktionslag detaljerne i computerens hardware, hvor programmet kører, mens højniveau lag omhandler programmets forretningslogik. Disse detaljer udsættes derefter for programmøren på tidspunktet for udførelsen. Abstraktion er et koncept eller en ide, der ikke er knyttet til et bestemt eksempel. Det fanger kun de detaljer om dataene, der vedrører dens objekter og aktuelle perspektiver. Det spiller en stor rolle i familien af objekter (i begreberne Objektorienteret-Programmering). og bruges på forskellige måder og implementeringer.
Begrebet abstraktion kan implementeres i:
- Kontrol Abstraktion: Det er abstraktionen af handlinger.
- Data Abstraktion: Det tillader og håndterer databitene og datastrukturerne på meningsfulde måder.
Indkapsling i computerprogrammering fremhæver sine funktioner i to forskellige notater, de er som:
- En sprogmekanisme, der begrænser adgangen til nogle objekts komponenter.
- En sprogkonstruktion, der letter databasen med metoderne (og andre funktioner), der virker på disse data.
Indkapsling er skjule mekanismerne, som spiller en afgørende rolle for at beskytte og sikre data fra de udenforstående. Det giver faktisk den grundlæggende integritet til dataene ved at forhindre misbrug af reelle data. Ved indkapsling gemmes dataene og åbnes i deres originale gyldige og konsistente format.
Generelt betyder indkapsling at bevare en genstand fra brugeren og repræsentere den i en generel form. Dybest set, i indkapsling er de ekstra detaljer gemt udefra. Objektfelterne bliver direkte inspiceret og manipuleret i denne mekanisme. Oplysningerne, der gemmer sig sammen med indretningen, er samlet i en version, som yderligere bruges som kildekoden og grænseflades via en headerfil. Nogle gange forsøger de offentlige klasser at få adgang til dataene, og i disse tilfælde tillader inkapslingen ikke de offentlige angribere at spille med dataene. En af de største fordele ved indkapsling er, at det hjælper med at reducere kompleksiteten af et program og hjælper brugerne med at forstå de nøjagtige begreber i programmet, da mekanismerne kun repræsenterer den koncise form af programmet. Dette øger robustheden ved at tillade udvikleren eller programmøren at begrænse interafhankerne mellem softwarekomponenter. Indkapsling kan også anvendes på nogle sprog som Smalltalk og Ruby, hvor adgangen kun er tilladt via objektmetoder; mens de fleste andre kan lide, C ++, C # eller Java giver en grad af kontrol til programmereren. Disse sprog giver udviklerne mulighed for at få adgang til det, der er skjult ved hjælp af søgeord som offentlige og private.
Abstraktionen og indkapslingen er også vigtige fundamentale i OOP (Object Oriented-Programming).
Sammenligning mellem abstraktion og indkapsling:
abstraktion | Indkapsling | |
Kort beskrivelse | Abstraktion er en proces, der uddrager de væsentlige detaljer om et emne eller en gruppe emner og ignorerer de uundværlige detaljer. | Indkapsling er en proces, der wraps eller omslutter dataene i en kapsel eller gør dataene koncise. |
De er | Abstraktion vedrører ideen om at gemme data, der ikke er nødvendigt til præsentation. | Indkapsling grupperer sammen data og funktionalitet. |
Grundlæggende funktioner | Grundlæggende bruges abstraktion til at gemme de uønskede data, og den giver de relevante data. | Dybest set betyder indkapsling at skjule koden og dataene i en enkelt enhed for at beskytte dataene fra omverdenen. |
Hvornår opereres de? | Det opererer problemet i designniveauet. | Det opererer problemet i implementeringsniveauet. |
Til gavn for rollerne | Det hjælper brugeren med at fokusere på, hvad objektet gør i stedet for, hvordan det gør nogen funktion. | Det hjælper programmøren med at gemme de interne detaljer eller mekanikerne for, hvordan en genstand gør noget. |
Oplysninger er | Her er informationer adskilt fra de rigtige data. | Her indsamles oplysningerne i et skjult format. |
Layouts | Det er bekymret for det ydre layout, som bruges til design. | Det er bekymret for det indre layout, som bruges i form af implementering. |
For eksempel | Det ydre udseende af en mobiltelefon, der har en skærm og tastaturknapper for at ringe til et nummer. | Indvendig implementeringsdetaljer for en mobiltelefon, hvordan tastaturknappen og skærmbilledet er forbundet med hinanden ved hjælp af kredsløb. |