Abstraksjon og innkapsling er begge grunnleggende objektorienterte programmeringskonsepter (OOP) som lar deg implementere virkelige objekter i programmer og koder. Mens begge går hånd i hånd, er de veldig forskjellige fra hverandre. Selv om hver metode er en innkapsling, er den også en abstraksjon. Enkelt sagt, når du setter forskjellige ting sammen for å opprette en enhet, oppretter du faktisk en konsept - et abstrakt. Mens begge er teknisk uatskillelige, har de bokstavelig talt ikke noe til felles. Det er nesten sant at hver innkapsling er en abstraksjon fordi de begge skjuler noe, men de har en god del av forskjellene.
Abstraksjon er et grunnleggende OOP-konsept som fokuserer på bare de relevante dataene til et objekt og skjuler alle irrelevante detaljer som kan eller ikke kan være for generisk eller spesialisert atferd. Det skjuler bakgrunnsdetaljene og legger vekt på viktige punkter for å redusere kompleksiteten og øke effektiviteten. I utgangspunktet er abstraksjon et programmeringsverktøy for å håndtere kompleksitet. Abstraksjon fokuserer på ideer snarere enn hendelser. Det skjuler detaljene på designnivå ved å tilby brukerne funksjonalitet. Det resulterende objektet kan også kalles en abstraksjon. Programmereren sørger for at den nevnte enheten vil ha alle de viktige aspektene inkludert og ingen av de irrelevante.
La oss ta et eksempel fra den virkelige verden på abstraksjon. La oss se på tilfellet med et kjøretøy, som i dette tilfellet er ditt kjøretøy. En mekaniker prøver å reparere bilen din, eller la oss si en bestemt del av bilen din. Her er du brukeren, og du vil ikke komme inn på detaljene til bilen din eller hvilken del som faktisk brøt. Du bryr deg faktisk ikke om disse tingene; du vil bare ha bilen tilbake i sin opprinnelige tilstand uten å bekymre deg for detaljene. Så du fortalte faktisk mekanikeren hva du vil ved å adskille implementeringsdelen. Dette er abstraksjon. Du fokuserte på det viktigste, som er å fikse bilen din, i stedet for å fokusere på detaljene.
Innkapsling er nok et OOP-konsept som binder data og fungerer i en enkelt komponent samtidig som begrense tilgangen til noen komponenter. Det er et av de viktigste grunnleggende begrepene i OOP som bryter inn data og informasjon under en enkelt enhet. I teknisk vilkår, innkapsling betyr å skjule attributter for å skjerme variabler fra tilgang utenfor, slik at endring i en del av et program ikke påvirker de andre delene. Tvert imot, ved å gjøre informasjonen mer åpen vil du risikere misbruk av data. Det gir grunnleggende integritet til dataene ved å beskytte dem mot omverdenen. Enkelt sagt skjuler den ekstra detaljer fra omverdenen.
La oss ta et eksempel på en Bluetooth-mus. Du trenger bare å vite om enhetens oppførsel uten å bekymre deg for implementeringsdetaljene, for eksempel hva slags sensorer musen har, er den trådløs eller ikke, osv. Hver eneste detalj beskriver musen, men uansett detaljene er det bare en mus. Du trenger bare et grensesnitt for å bruke musen, som i dette tilfellet er musepekeren. Dette er innkapsling.
Selv om begge er grunnleggende begreper relatert til OOP, og de er teknisk uatskillelige, har de fremdeles forskjeller i mange aspekter.
Abstraksjon | Innkapsling |
Den håndterer bare de relevante detaljene ved å skjule de irrelevante for å redusere kompleksiteten og derved øke effektiviteten. | Det binder dataene og informasjonen sammen til en enkelt enhet for å beskytte dataene fra eksterne kilder. |
Det refererer til ideen om å skjule data som ikke er nødvendig for presentasjonsformål. | Den skjuler dataene og koden for å begrense uønsket tilgang. |
Den fokuserer på hva i stedet for hvordan. | Det skjuler den interne mekanikken til hvordan den gjør noe. |
Det skjuler unødvendige detaljer på designnivå. | Det skjuler også detaljene, men på implementeringsnivået. |
Informasjon og data er skilt fra relevante data. | Informasjon er skjult inne i en kapsel for nær tilgang. |
Den tar for seg ideer i stedet for hendelser. | Ideen er å beskytte dataene fra omverdenen. |
Den implementeres ved hjelp av abstrakt klasse og grensesnitt. | Den implementeres ved hjelp av beskyttede, private og pakke-private tilgangsmodifikatorer. |
Selv om begge er OOP-begreper relatert til dataskjuling, er de ganske forskjellige fra hverandre. Abstraksjon gjelder også å gjemme seg som innkapsling, men mens førstnevnte skjuler kompleksitet, beholder sistnevnte dataene den innkapsler ved å kontrollere tilgangen til dem. Abstraksjon refererer til konseptet med å representere bare de nødvendige funksjonene ved å skjule de irrelevante detaljene for å redusere kompleksiteten i en applikasjon og derved øke effektiviteten. Innkapsling refererer derimot til konseptet med å skjule all intern mekanikk i et program for å beskytte informasjonen mot uønsket tilgang. Det binder dataene og informasjonen sammen til en enkelt komponent ved å begrense tilgangen til andre komponenter.
Copyright © Alle Rettigheter Reservert | asayamind.com