Hvad er abstraktion i OOP'er? Java abstrakt klasse og metode

Hvad er abstraktion i OOP?

abstraktion er begrebet objektorienteret programmering, der kun "viser" væsentlige attributter og "skjuler" unødvendig information. Hovedformålet med abstraktion er at skjule det unødvendige details fra brugerne. Abstraktion er at udvælge data fra en større pulje for kun at vise relevante details af objektet til brugeren. Det hjælper med at reducere programmering complexkvalitet og indsats. Det er en af ​​de vigtigste concepts af OOP'er.

Klik link. 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 following oplysninger om kunden

Abstraktion i Java
Abstraktion i Java

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 bankansøgning fra den pool. Data som navn, adresse, skatteoplysninger osv. giver mening for en bankapplikation, som er et abstraktionseksempel i OOP'er

Abstraktion i Java

Da vi har hentet/fjernet/valgt kundeoplysningerne fra en større pulje, omtales processen som Abstraktion i OOP'er.

Men den samme information, når den først er udtrukket, kan bruges til en lang række applikationer. For eksempel kan du bruge de samme data til hospitalsansøgninger, jobportalansøgninger, en regeringsdatabase osv. med ringe eller ingen ændringer. Derfor bliver det dine stamdata. Dette er en fordel ved abstraktion i OOP'er.

Forskellen mellem abstraktion og indkapsling

abstraktion Indkapsling
Abstraktion i objektorienteret programmering løser problemerne på designniveau. Indkapsling løser det implementeringsniveau.
Abstraktion i programmering handler om at skjule uønsket details mens showing vigtigste information. Indkapsling betyder at binde koden og data til en enkelt enhed.
Dataabstraktion i Java giver mulighed for at fokusere på, hvad informationsobjektet skal indeholde Indkapsling betyder at skjule den indre details eller mekanik af, hvordan et objekt gør noget af sikkerhedsmæssige årsager.

Forskellen mellem abstrakt klasse og grænseflade

Abstrakt klasse grænseflade
En abstrakt klasse kan have både abstrakte og ikke-abstrakte metoder. Grænsefladen kan kun have abstrakte metoder.
Det understøtter ikke flere arv. Det understøtter flere arv.
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 en endelig, statisk eller statisk slutvariabel med en hvilken som helst adgangsspecifikation. Grænsefladen kan kun have en offentlig statisk slutvariabel.

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 abstrakte metoder såvel som konkrete metoder. En normal klasse kan ikke have abstrakte metoder. En abstrakt klasse er en klasse, der indeholder mindst én abstrakt metode.

Hvad er abstrakte metoder?

Abstrakt metode er en metode, der kun har metodedefinitionen, men som ikke indeholder implementering. En metode uden krop er kendt som en abstrakt metode. Det skal deklareres 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 complexdesign- og implementeringsprocessen af ​​software.

Hvornår skal man bruge abstrakte metoder og abstrakt klasse?

Abstrakte metoder er for det meste erklæret, 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 programmeringsklassehierarki. Den beskriver også underklasser for at tilbyde implementering details af den abstrakte klasse.

Sammendrag:

  • Abstraktion i programmering er processen med at udvælge vigtige datasæt for en Object 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.