Hvad er abstraktion i OOP?
Abstraktion er begrebet objektorienteret programmering, der kun "viser" vigtige egenskaber og "skjuler" unødvendig information. Hovedformålet med abstraktion er at skjule de unødvendige detaljer fra brugerne. Abstraktion er at vælge data fra en større pool for kun at vise relevante detaljer om objektet til brugeren. Det hjælper med at reducere programmeringskompleksitet og indsats. Det er et af de vigtigste begreber i OOP'er.
Klik her, hvis videoen ikke er tilgængelig
Lad os studere abstraktion i OOP'er med eksempel:
Antag, at du vil oprette en bankapplikation, og du bliver bedt om at indsamle alle oplysninger om din kunde. Der er chancer for, at du kommer med følgende oplysninger om kunden

Men ikke alle ovenstående oplysninger er nødvendige for at oprette en bankapplikation.
Så du skal kun vælge de nyttige oplysninger til din bankapplikation fra den pulje. Data som navn, adresse, skatteoplysninger osv. Giver mening for en bankapplikation, der er et abstraktioneksempel i OOP'er
Da vi har hentet / fjernet / valgt kundeoplysninger fra en større pool, betegnes processen som Abstraktion i OOP'er.
Imidlertid kan de samme oplysninger, når de først er ekstraheret, bruges til en lang række applikationer. For eksempel kan du bruge de samme data til hospitalsapplikationer, jobportalapplikationer, en regeringsdatabase osv. Med ringe eller ingen ændringer. Derfor bliver det dine stamdata. Dette er en fordel ved abstraktion i OOP'er.
Forskel mellem abstraktion og indkapsling
Abstraktion | Indkapsling |
Abstraktion i objektorienteret programmering løser problemerne på designniveau. | Indkapsling løser implementeringsniveauet. |
Abstraktion i programmering handler om at skjule uønskede detaljer, mens de mest vigtige oplysninger vises. | Indkapsling betyder binding af kode og data til en enkelt enhed. |
Data Abstraktion i Java giver mulighed for at fokusere på, hvad informationsobjektet skal indeholde | Indkapsling betyder at skjule de interne detaljer eller mekanik for, hvordan en genstand gør noget af sikkerhedsmæssige årsager. |
Forskel mellem abstrakt klasse og interface
Abstrakt klasse | Interface |
En abstrakt klasse kan have både abstrakte og ikke-abstrakte metoder. | Interfacet kan kun have abstrakte metoder. |
Det understøtter ikke flere arvinger. | Det understøtter flere arvinger. |
Det kan give implementeringen af grænsefladen. | Det kan ikke give implementeringen af den abstrakte klasse. |
En abstrakt klasse kan have beskyttede og abstrakte offentlige metoder. | En grænseflade kan kun have offentlige abstrakte metoder. |
En abstrakt klasse kan have endelig, statisk eller statisk slutvariabel med ethvert adgangsspecifikator. | Interfacet kan kun have en offentlig statisk endelig variabel. |
Hvad er abstrakt klasse?
Abstrakt klasse er en type klasse i OOP'er, der erklærer en eller flere abstrakte metoder. Disse klasser kan have både abstrakte metoder og konkrete metoder. En normal klasse kan ikke have abstrakte metoder. En abstrakt klasse er en klasse, der indeholder mindst en abstrakt metode.
Hvad er abstrakte metoder?
Abstrakt metode er en metode, der kun har metodedefinitionen, men ikke indeholder implementering. En metode uden legeme er kendt som en abstrakt metode. Det skal erklæres i en abstrakt klasse. Den abstrakte metode vil aldrig være endelig, fordi den abstrakte klasse skal implementere alle de abstrakte metoder.
Fordele ved abstraktion
- Den største fordel ved at bruge en abstraktion i programmering er, at det giver dig mulighed for at gruppere flere relaterede klasser som søskende.
- Abstraktion i objektorienteret programmering hjælper med at reducere kompleksiteten i design- og implementeringsprocessen for software.
Hvornår skal man bruge abstrakte metoder og abstrakt klasse?
Abstrakte metoder erklæres for det meste, hvor to eller flere underklasser også gør det samme på forskellige måder gennem forskellige implementeringer. Det udvider også den samme abstrakte klasse og tilbyder forskellige implementeringer af de abstrakte metoder.
Abstrakte klasser hjælper med at beskrive generiske typer adfærd og objektorienteret programmeringsklassens hierarki. Det beskriver også underklasser for at tilbyde implementeringsoplysninger om den abstrakte klasse.
Resumé:
- Abstraktion i programmering er processen med at vælge vigtige datasæt til et objekt i din software og udelade de ubetydelige.
- Når du har modelleret dit objekt ved hjælp af Data Abstraction i Java, kan det samme sæt data bruges i forskellige applikationer.