Skillnaden mellan Abstraktion och Encapsulation Skillnad mellan

Anonim

du implementerar verkliga objekt i program och koder. Medan båda går hand i hand, är de väldigt olika från varandra. Medan varje metod är en inkapsling är det också en abstraktion. Enkelt uttryckt, när du skapar olika saker för att skapa en enhet, skapar du faktiskt ett koncept - en abstrakt. Medan båda är tekniskt oskiljaktiga har de bokstavligen ingenting gemensamt. Det är nästan sant att varje inkapsling är en abstraktion eftersom de båda gömmer något, men de har sin rättvisa andel av skillnaderna.

Vad är abstraktion?

Abstraktion är ett grundläggande OOP-koncept som fokuserar på bara relevanta data för ett objekt och döljer alla irrelevanta detaljer som kan eller inte är för generiskt eller specialiserat beteende. Det döljer bakgrundsinformationen och betonar de väsentliga punkterna för att minska komplexiteten och öka effektiviteten. I grund och botten är abstraktion ett programmeringsverktyg för att hantera komplexitet. Abstraktion fokuserar på idéer snarare än händelser. Det döljer detaljerna på designnivå genom att ge användarna funktionalitet. Det resulterande objektet kan också kallas en abstraktion. Programmeraren ser till att den namngivna enheten kommer att ha alla väsentliga aspekter som ingår och ingen av de irrelevanta.

Låt oss ta ett verkligt exempel på abstraktion. Låt oss överväga ett fordon, vilket i detta fall är ditt fordon. En mekaniker försöker reparera din bil eller låt oss säga en viss del av din bil. Här är du användaren och du vill inte komma in i din bils specifika eller vilken del som faktiskt bröt. Du bryr dig inte egentligen om de sakerna; du vill bara ha ditt fordon tillbaka i sitt ursprungliga skick utan att oroa dig för detaljerna. Så du sa faktiskt till mekanikern vad du vill genom att segregera implementeringsdelen. Detta är abstraktion. Du fokuserade på den viktigaste saken, som får din bil fast, snarare än att fokusera på detaljerna.

Vad är inkapsling?

Encapsulation är ännu ett OOP-koncept som binder data och funktioner till en enda komponent samtidigt som åtkomst till vissa komponenter begränsas. Det är ett av de viktigaste grundläggande begreppen för OOP, som omslår data och information under en enda enhet. I tekniska termer innebär inkapsling att dölja attribut för att skydda variabler från extern åtkomst så att förändring i en del av en applikation inte kommer att påverka de andra delarna. Tvärtom riskerar du att använda informationen genom att göra informationen öppnare. Det ger grundläggande integritet till data genom att skydda den från omvärlden. Enkelt uttryckt döljer den extra detaljer från omvärlden.

Låt oss ta ett exempel på en Bluetooth-mus.Du behöver bara veta om enhetens beteende utan att oroa dig för implementeringsdetaljerna som vilken typ av sensorer musen har, det är trådlöst eller inte etc. Varje detalj beskriver musen men oavsett detaljer är det bara en mus. Du behöver bara ett gränssnitt för att använda musen, vilket i detta fall är muspekaren. Detta är inkapsling.

Skillnad mellan abstraktion och inkapsling

Medan båda är grundläggande begrepp relaterade till OOP och de är tekniskt oskiljaktiga, har de fortfarande skillnader i många aspekter.

  1. Skillnader i "Definition" av Abstraktion och Inkapsling - Abstraktion är ett grundläggande OOP-koncept som betonar alla väsentliga aspekter av ett objekt genom att gömma de irrelevanta detaljerna för att öka effektiviteten och eliminera komplexiteten. Encapsulation, å andra sidan, är en dataskyddsmekanism som omsluter data och information i en kapsel för att begränsa åtkomst från omvärlden.
  2. Skillnader i "Funktionalitet" av Abstraktion och inkapsling - Abstraktion är en dataskyddsmekanism som endast belyser de väsentliga funktionerna för att göra komplexa program enklare, medan inkapsling å andra sidan är en bindningsmetod data och koder till en enda enhet. Tanken är att skydda implementeringsdetaljerna från extern åtkomst.
  3. Skillnader i "Implementering" av abstraktion och inkapsling - Abstraktion implementeras med abstrakt klass och gränssnitt, medan inkapsling implementeras med hjälp av åtkomstmodifierare. Fem typer av modifierare används för att inkapsla data: Privat, Offentlig, Intern, Skyddad och Skyddad Intern.
  4. Skillnader i "Concept" av Abstraktion och Encapsulation - Tanken bakom abstraktion är att fokusera på vad snarare än hur. Encapsulation döljer den inre mekaniken av hur. När du till exempel kör en bil, vet du exakt vad bromspedalen gör men du kanske inte känner till hela mekanismen bakom den eftersom data är inkapslad.
  5. Skillnader i "Exempel" av abstraktion och inkapsling - Låt oss ta ett exempel på en smartphone. Du vet vad det gör men du kanske inte vet hur det gör vad det gör. Du bryr dig bara om skärmen på skärmen och knappsatsen istället för att oroa dig för sin inre krets. Här är smartphone en abstrakt där de inre implementeringsdetaljerna inkapslas.

Abstraktion vs Inkapsling med jämförelsetabellen

Abstraktion Inkapsling
Den behandlar endast relevanta detaljer genom att gömma de irrelevanta för att minska komplexiteten och därmed öka effektiviteten. Det binder data och information tillsammans till en enda enhet för att skydda data från externa källor.
Det hänvisas till idén att gömma data som inte behövs för presentation. Den döljer data och kod för att begränsa oönskad åtkomst.
Det fokuserar på vad snarare än hur. Den döljer den inre mekaniken om hur den gör någonting.
Den döljer de onödiga detaljerna på designnivå. Det döljer också detaljerna men på implementeringsnivån.
Information och data är åtskilda från relevanta uppgifter. Information är gömd i en kapsel för nära åtkomst.
Det handlar om idéer snarare än händelser. Tanken är att skydda data från omvärlden.
Det implementeras med abstrakt klass och gränssnitt. Det implementeras med hjälp av skyddade, privata och paket-privata åtkomstmodifierare.

Sammanfattning

Medan båda är OOP-begrepp som är relaterade till data att dölja, skiljer de sig ganska från varandra. Abstraktion hänför sig också till att gömma sig som inkapsling, men medan den förra döljer komplexiteten, håller den senare data som den inkapslar genom att kontrollera åtkomst till dem. Abstraktion hänvisar till konceptet att endast representera de nödvändiga egenskaperna genom att dölja de irrelevanta detaljerna för att minska komplexiteten hos en applikation och därmed öka effektiviteten. Encapsulation, å andra sidan, hänvisar till begreppet att gömma alla interna mekaniker i ett program för att skydda informationen från oönskad åtkomst. Den binder data och information tillsammans till en enskild komponent genom att begränsa åtkomst till andra komponenter.