Vad är abstraktion i OOP? Java abstrakt klass & Metod

Innehållsförteckning:

Anonim

Vad är abstraktion i OOP?

Abstraktion är begreppet objektorienterad programmering som "visar" endast väsentliga attribut och "döljer" onödig information. Huvudsyftet med abstraktion är att dölja onödiga detaljer från användarna. Abstraktion är att välja data från en större pool för att endast visa relevanta detaljer om objektet för användaren. Det hjälper till att minska programmeringskomplexitet och ansträngningar. Det är ett av de viktigaste begreppen för OOP.

Klicka här om videon inte är tillgänglig

Låt oss studera abstraktion i OOP med exempel:

Antag att du vill skapa en bankapplikation och du ombeds samla all information om din kund. Det finns chanser att du kommer med följande information om kunden

Abstraktion i Java

Men inte all ovanstående information krävs för att skapa en bankapplikation.

Så du behöver bara välja användbar information för din bankapplikation från den poolen. Uppgifter som namn, adress, skatteinformation etc. är meningsfulla för en bankapplikation som är ett abstraktionsexempel i OOP

Eftersom vi har hämtat / tagit bort / valt kundinformation från en större pool kallas processen för abstraktion i OOP.

Dock kan samma information när den extraherats användas för ett stort antal applikationer. Till exempel kan du använda samma data för sjukhusapplikationer, jobbportalapplikationer, en regeringsdatabas etc. med liten eller ingen ändring. Därför blir det dina stamdata. Detta är en fördel med abstraktion i OOP.

Skillnad mellan abstraktion och inkapsling

Abstraktion Inkapsling
Abstraktion i objektorienterad programmering löser problemen på designnivå. Inkapsling löser implementeringsnivån.
Abstraktion i programmering handlar om att dölja oönskade detaljer och samtidigt visa viktigaste informationen. Inkapsling innebär att man binder koden och data till en enda enhet.
Dataabstraktion i Java gör det möjligt att fokusera på vad informationsobjektet måste innehålla Inkapsling innebär att dölja de interna detaljerna eller mekaniken för hur ett objekt gör något av säkerhetsskäl.

Skillnad mellan abstrakt klass och gränssnitt

Abstrakt klass Gränssnitt
En abstrakt klass kan ha både abstrakta och icke-abstrakta metoder. Gränssnittet kan bara ha abstrakta metoder.
Det stöder inte flera arv. Den stöder flera arv.
Det kan ge implementering av gränssnittet. Det kan inte ge implementering av abstraktklassen.
En abstrakt klass kan ha skyddade och abstrakta offentliga metoder. Ett gränssnitt kan bara ha offentliga abstrakta metoder.
En abstrakt klass kan ha slutlig, statisk eller statisk slutvariabel med valfri åtkomstspecifikator. Gränssnittet kan bara ha en offentlig statisk slutlig variabel.

Vad är abstrakt klass?

Abstrakt klass är en typ av klass i OOP som förklarar en eller flera abstrakta metoder. Dessa klasser kan ha både abstrakta metoder och konkreta metoder. En normal klass kan inte ha abstrakta metoder. En abstrakt klass är en klass som innehåller minst en abstrakt metod.

Vad är abstrakta metoder?

Abstrakt metod är en metod som bara har metoddefinitionen men inte innehåller implementering. En metod utan kropp kallas en abstrakt metod. Det måste förklaras i en abstrakt klass. Den abstrakta metoden kommer aldrig att vara slutgiltig eftersom den abstrakta klassen måste implementera alla abstrakta metoder.

Fördelar med abstraktion

  • Den största fördelen med att använda en abstraktion i programmering är att den låter dig gruppera flera relaterade klasser som syskon.
  • Abstraktion i objektorienterad programmering hjälper till att minska komplexiteten i design- och implementeringsprocessen för programvara.

När ska man använda abstrakta metoder & abstraktklass?

Abstrakta metoder förklaras mestadels där två eller flera underklasser också gör samma sak på olika sätt genom olika implementeringar. Det utvidgar också samma abstraktklass och erbjuder olika implementeringar av de abstrakta metoderna.

Abstrakta klasser hjälper till att beskriva generiska typer av beteenden och objektorienterad programmeringsklasshierarki. Det beskriver också underklasser för att erbjuda implementeringsdetaljer för abstraktklassen.

Sammanfattning:

  • Abstraktion i programmering är processen att välja viktiga datamängder för ett objekt i din programvara och utelämna de obetydliga.
  • När du har modellerat ditt objekt med hjälp av Data Abstraction i Java kan samma uppsättning data användas i olika applikationer.