Abstraktion kontra inkapsling

Författare: Laura McKinney
Skapelsedatum: 8 April 2021
Uppdatera Datum: 1 Maj 2024
Anonim
Föreläsning 15, arv del 2, design av arv
Video: Föreläsning 15, arv del 2, design av arv

Innehåll

Abstraktion är en process av
samla avgörande information som kommer att utgöra en bas för att bygga en
komplexa system. Inkapsling är en process för att utveckla ett komplext system mycket
lättare att hantera slutanvändaren utan att oroa sig för dess inre komplexitet. De
skillnaden mellan abstraktion och kapsling är det
abstraktion fokuserar på att identifiera de väsentliga komponenterna för att bygga en
system medan kapsling fokuserar på att dölja ett inre komplexitet i ett system.


Innehåll: Skillnad mellan abstraktion och kapsling

  • Jämförelsediagram
  • Vad är abstraktion?
    • Exempel
  • Vad är inkapsling?
    • Exempel
  • Viktiga skillnader mellan abstraktion och kapsling
  • Slutsats

Jämförelsediagram

Grundläggande Abstraktion inkapsling
Definition Element som krävs för att utveckla en
systemet.
Inkapsling är en process för att utveckla ett komplext system
Prestation Uppnås genom inkapsling. Uppnås genom att göra medlemmarna i en
klass som privat.
fokuserar Fokus ligger på vad som ska göras Fokus ligger på hur det ska göras.
Ansökan Under designnivå. Under genomförandet
nivå.
exempel GUI för en mobiltelefon, det har några ikoner att klicka på, som på
klicka utför den specifika funktionen.
När du klickar på ikonen,
slutanvändaren har ingen aning om dess implementeringsdetaljer

Vad är abstraktion?

Abstraktion är en mekanism för att utvinna de avgörande elementen
för skapandet av ett system, utan dess implementeringsdetaljer. I
abstraktion måste vi bara koncentrera oss på vad som ska göras snarare än hur det är
måste göras. Abstraktion är en tankeprocess, den löser problemen vid designen
nivå.


Hierarkisk klassificering hjälper oss att hantera en komplex abstraktion. Det gör det möjligt för oss att dela upp ett komplicerat system i hanterbara stycken och generera en skiktad semantik. Dessutom är det en generalisering.

Exempel

Låt oss ta ett bra exempel på en bil, den är skapad av ett antal delsystem som motor, bromsar, belysning, ljudsystem, stol och mycket mer. Den "bromsen" som är ett delsystem för en cykel kan vidare kategoriseras som framhjulsbroms och bakhjulsbroms, men i allmänhet ser vi alla delsystem som bromsar. Så vi måste hantera det komplexa systemet genom hierarkisk klassificering, vilket hjälper oss att ta reda på vilka viktiga element som kommer att krävas för att utveckla ett system.

Så abstraktion är bara att generalisera vad element är
väsentligt för att skapa ett system, dvs att plocka upp de viktiga.


Vad är inkapsling?

Inkapsling är den viktiga funktionen i objektorienterad programmering. Det är en mekanism som
binder kod och data tillsammans och håller dem skyddade från externa
interferens. Det vill säga, inkapsling döljer komplexiteten hos ett system,
eftersom nyckelordet här är gömmer sig data. Det liknar en skyddande
omslag som döljer koden och data i klassen, erhålls av
en annan kod som definieras utanför klassen och medlemsfunktionen / metoden
som inte är medlemmarna i klassen.

När kod och data som fungerar
på den informationen är länkade i klass, sedan skapas objekt i denna klass.
Tillgången till elementets element begränsas av ett väldefinierat gränssnitt
känd som åtkomstspecifikation. Det finns tre åtkomst
specificerar i Java och C ++ Public, Private, Secure.

Inkapslingen uppnås särskilt genom att skapa koden
och data som fungerar på data, som privata. De privata medlemmarna i klassen kan inte komma åt från den definierade koden
utanför klassen. Det hjälper till att förhindra missbruk av data medan det också döljer komplexiteten
av koden.

Exempel

Låt oss ta ett exempel på en mobiltelefon. I en mobiltelefon, du
kan utföra många funktioner som att klicka på en bild, spela in en video / ljud,
ing a, få tillgång till webben och mycket mer. Du betraktar dessa som
egenskaper hos en mobiltelefon. Men den slutliga användaren behöver inte
förstå den inre komplexiteten hos dessa funktioner innan du använder dessa
program, och du behöver inte ändra funktionaliteten i någon av funktionerna.

Så på detta sätt döljer inkapslingen komplexiteten och
förhindra missbruk av data.

Viktiga skillnader mellan abstraktion och kapsling

  1. Abstraktion fokuserar på komponenter som krävs för
    konstruera ett system medan inkapsling fokuserar på att dölja komplexiteten hos
    systemet.
  2. Abstraktionen görs under designnivån för ett system och
    inkapsling görs när systemet har
    genomförts.
  3. Abstractions huvudmotiv är vad som ska göras för att bygga
    ett system medan Encapsulations huvudmotiv är hur det ska göras för att konstruera ett system.
  4. Abstraktion uppnås av
    inkapsling medan kapslingen uppnås genom att göra elementen i
    systemet privat.

Slutsats

Abstraktion och kapsling
båda är det viktiga inslaget i OOP. En stor kapsling kan uppnå en fantastisk abstraktion.