Hva er abstraksjon i OOP?
Abstraksjon er begrepet objektorientert programmering som "viser" bare viktige attributter og "skjuler" unødvendig informasjon. Hovedformålet med abstraksjon er å skjule unødvendige detaljer fra brukerne. Abstraksjon er å velge data fra et større basseng for å bare vise relevante detaljer om objektet til brukeren. Det hjelper med å redusere programmeringskompleksitet og innsats. Det er et av de viktigste begrepene i OOP.
Klikk her hvis videoen ikke er tilgjengelig
La oss studere abstraksjon i OOP med eksempel:
Anta at du vil opprette en banksøknad og du blir bedt om å samle all informasjon om kunden din. Det er sjanser for at du kommer med følgende informasjon om kunden

Men ikke all informasjonen ovenfor er nødvendig for å opprette en banksøknad.
Så du må bare velge nyttig informasjon for banksøknaden din fra den poolen. Data som navn, adresse, skatteinformasjon osv. Gir mening for en banksøknad som er et abstraksjonseksempel i OOP
Siden vi har hentet / fjernet / valgt kundeinformasjonen fra et større basseng, blir prosessen referert til som Abstraksjon i OOP.
Imidlertid kan den samme informasjonen når den er hentet, brukes til et bredt spekter av applikasjoner. For eksempel kan du bruke de samme dataene for sykehusapplikasjon, jobbportalsøknad, en myndighetsdatabase osv. Med liten eller ingen endringer. Derfor blir det stamdataene dine. Dette er en fordel med Abstraksjon i OOP.
Forskjellen mellom abstraksjon og innkapsling
Abstraksjon | Innkapsling |
Abstraksjon i objektorientert programmering løser problemene på designnivå. | Innkapsling løser implementeringsnivået. |
Abstraksjon i programmering handler om å skjule uønskede detaljer mens du viser viktigst informasjon. | Innkapsling betyr å binde koden og dataene til en enkelt enhet. |
Dataabstraksjon i Java gjør det mulig å fokusere på hva informasjonsobjektet må inneholde | Innkapsling betyr å skjule de indre detaljene eller mekanikken til hvordan et objekt gjør noe av sikkerhetsmessige årsaker. |
Forskjellen mellom abstrakt klasse og grensesnitt
Abstrakt klasse | Grensesnitt |
En abstrakt klasse kan ha både abstrakte og ikke-abstrakte metoder. | Grensesnittet kan bare ha abstrakte metoder. |
Den støtter ikke flere arv. | Den støtter flere arv. |
Det kan gi implementering av grensesnittet. | Det kan ikke gi implementering av den abstrakte klassen. |
En abstrakt klasse kan ha beskyttede og abstrakte offentlige metoder. | Et grensesnitt kan bare ha offentlige abstrakte metoder. |
En abstrakt klasse kan ha endelig, statisk eller statisk sluttvariabel med hvilken som helst tilgangsspesifikator. | Grensesnittet kan bare ha en offentlig statisk endelig variabel. |
Hva er abstrakt klasse?
Abstrakt klasse er en type klasse i OOP, som erklærer en eller flere abstrakte metoder. Disse klassene kan ha både abstrakte metoder og konkrete metoder. En normal klasse kan ikke ha abstrakte metoder. En abstrakt klasse er en klasse som inneholder minst en abstrakt metode.
Hva er abstrakte metoder?
Abstrakt metode er en metode som bare har metodedefinisjonen, men som ikke inneholder implementering. En metode uten kropp er kjent som en abstrakt metode. Det må erklæres i en abstrakt klasse. Den abstrakte metoden vil aldri være endelig fordi den abstrakte klassen må implementere alle de abstrakte metodene.
Fordeler med abstraksjon
- Den største fordelen med å bruke en abstraksjon i programmering er at den lar deg gruppere flere relaterte klasser som søsken.
- Abstraksjon i objektorientert programmering bidrar til å redusere kompleksiteten i design- og implementeringsprosessen til programvaren.
Når skal jeg bruke abstrakte metoder og abstrakt klasse?
Abstrakte metoder blir for det meste erklært der to eller flere underklasser også gjør det samme på forskjellige måter gjennom forskjellige implementeringer. Den utvider også den samme abstrakte klassen og tilbyr forskjellige implementeringer av de abstrakte metodene.
Abstrakte klasser hjelper til med å beskrive generiske typer atferd og objektorientert programmeringsklassehierarki. Det beskriver også underklasser for å tilby implementeringsdetaljer for den abstrakte klassen.
Sammendrag:
- Abstraksjon i programmering er prosessen med å velge viktige datasett for et objekt i programvaren din og utelate de ubetydelige.
- Når du har modellert objektet ditt ved hjelp av Data Abstraction i Java, kan det samme datasettet brukes i forskjellige applikasjoner.