Difference Between Encapsulation and Abstraksjon

Difference Between Encapsulation and Abstraksjon
Difference Between Encapsulation and Abstraksjon

Video: Difference Between Encapsulation and Abstraksjon

Video: Difference Between Encapsulation and Abstraksjon
Video: Leslie Kean on David Grusch (UFO Whistleblower): Non-Human Intelligence, Recovered UFOs, UAP, & more 2024, November
Anonim

Encapsulation vs Abstraksjon

Encapsulation og Abstraksjon er to forskjellige, men beslektede konsepter som finnes i OOP-språk (Object Oriented Programming). Encapsulation er konseptet med å kombinere data og atferd sammen som en enkelt enhet. På den annen side er abstraksjon prosessen med å presentere hvordan en enhet oppfører seg\ser ut i motsetning til hvordan den er implementert.

Hva er innkapsling?

Encapsulation er prosessen med å pakke inn data og operasjoner som opererer på dem i én enkelt enhet. Dette betyr i hovedsak at for å få tilgang til data, bør visse forhåndsdefinerte metoder brukes. Med andre ord, innkapslede data er ikke direkte tilgjengelige. Dette sikrer at integriteten til data bevares fordi brukeren ikke kan få direkte tilgang til og endre dataene slik han/hun ønsker. Brukerne vil kun få eller angi dataverdiene gjennom metodene som er offentlig tilgjengelige for brukerne. Disse metodene gir vanligvis datavalidering slik at bare data i riktig format tillates satt inn i feltene. Derfor er fordelene med Encapsulation tredelt. Gjennom Encapsulation kan programmereren gjøre felt i en klasse skrivebeskyttet eller skrivebeskyttet. For det andre kan en klasse ha total kontroll over hva som er lagret i feltene dens. Til slutt trenger ikke brukerne av en klasse å bekymre seg for hvordan dataene lagres. I Java kan programmereren erklære at alle instansvariabler er private og gi get- og set-metoder (som er offentlige) for å få tilgang til og endre de private feltene.

Hva er abstraksjon?

Abstraksjon er prosessen med å skille presentasjonsdetaljene fra implementeringsdetaljene. Dette gjøres for at utvikleren skal slippe de mer komplekse implementeringsdetaljene. I stedet kan programmereren fokusere på presentasjonen eller atferdsdetaljene til enheten. Enkelt sagt fokuserer abstraksjon på hvordan en viss enhet kan brukes i stedet for hvordan den implementeres. Abstraksjon skjuler i hovedsak implementeringsdetaljene, slik at selv om implementeringsmetodikken endres over tid, trenger ikke programmereren å bekymre seg for hvordan det vil påvirke programmet hans. Et system kan abstraheres i flere lag eller nivåer. For eksempel vil abstraksjonslag på lavt nivå avsløre maskinvaredetaljer, mens abstraksjon på høyt nivå bare vil avsløre forretningslogikken til enheten. Begrepet abstraksjon kan brukes til å referere til både en enhet og en prosess, og dette fører til en viss forvirring. Som en prosess betyr abstraksjon å trekke ut essensielle detaljer mens man ignorerer de uvesentlige detaljene til et element eller en gruppe elementer, mens som en enhet betyr abstraksjon en modell eller et syn på en enhet med bare de essensielle detaljene. I Java kan programmereren bruke nøkkelordet abstrakt for å erklære en klasse som en abstrakt enhet, som representerer de essensielle definerende egenskapene til en virkelig verden.

Hva er forskjellen mellom innkapsling og abstraksjon?

Selv om innkapsling og abstraksjon er svært beslektede konsepter som finnes i objektorienterte programmeringsspråk, har de viktige forskjeller. Abstraksjon er en teknikk som hjelper oss å identifisere hva som skal være synlig og hva som skal skjules. Innkapsling er teknikkene for å pakke informasjonen slik at den synliggjør det som skal være synlig og skjuler det som skal skjules. Med andre ord kan innkapsling identifiseres som ett skritt utover abstraksjon. Mens abstraksjon reduserer et objekt i den virkelige verden til dets essensielle definerende egenskaper, utvider innkapsling denne ideen ved å modellere og koble denne funksjonaliteten til den enheten.

Anbefalt: