Abstraktion vs. indkapsling

Forfatter: Laura McKinney
Oprettelsesdato: 8 April 2021
Opdateringsdato: 1 Kan 2024
Anonim
OOP interview questions :- What is the difference between Abstraction and Encapsulation ?
Video.: OOP interview questions :- What is the difference between Abstraction and Encapsulation ?

Indhold

Abstraktion er en proces med
indsamling af vigtig information, der vil danne grundlag for opbygning af en
komplekst system. Indkapsling er en proces med at udvikle et komplekst system meget
lettere at administrere slutbrugeren uden at bekymre sig om dets indre kompleksitet. Det
forskellen mellem abstraktion og indkapsling er det
abstraktion fokuserer på at identificere de væsentlige komponenter til opbygning af en
system, mens indkapsling fokuserer på at skjule de indre kompleksiteter i et system.


Indhold: Forskel mellem abstraktion og indkapsling

  • Sammenligningstabel
  • Hvad er abstraktion?
    • Eksempel
  • Hvad er indkapsling?
    • Eksempel
  • Vigtige forskelle mellem abstraktion og indkapsling
  • Konklusion

Sammenligningstabel

Grundlæggende abstraktion Indkapsling
Definition Elementer, der kræves for at udvikle en
system.
Indkapsling er en proces til udvikling af et komplekst system
Præstation Opnås gennem indkapsling. Opnået ved at gøre medlemmerne af en
klasse som privat.
fokuserer Fokus er på, hvad der skal gøres Fokus er på, hvordan det skal gøres.
Ansøgning Under designniveau. Under implementeringen
niveau.
eksempler GUI'en til en mobiltelefon, den har nogle ikoner, der skal klikkes på, hvilken på
klik udfør den specifikke funktion.
Når der klikkes på ikonet,
slutbrugeren har ingen idé om dens implementeringsdetaljer

Hvad er abstraktion?

Abstraktion er en mekanisme til at udtrække de afgørende elementer
til oprettelse af et system uden dets implementeringsdetaljer. I
abstraktion, skal vi kun koncentrere os om, hvad der skal gøres, snarere end hvordan det sker
skal gøres. Abstraktion er en tankeproces, den løser problemerne ved designet
niveau.


Hierarkisk klassificering hjælper os med at håndtere en kompleks abstraktion. Det giver os mulighed for at opdele et kompliceret system i håndterbare stykker og generere en lagdelt semantik. Desuden er det en generalisering.

Eksempel

Lad os tage et godt eksempel på en bil, det er skabt af en række delsystemer som motor, bremser, belysning, lydsystem, stol og meget mere. Den 'bremse', der er et delsystem på en cykel, kan yderligere kategoriseres som forhjulsbremse og baghjulbremse, men generelt ser vi alle delsystemer som bremser. Så vi skal styre det komplekse system ved hierarkisk klassificering, som hjælper os med at finde ud af, hvad der er de afgørende elementer, der kræves for at udvikle et system.

Så abstraktion er kun at generalisere, hvad elementer er
vigtig for at fremstille et system, dvs. opsamle de vigtige systemer lige.

Hvad er indkapsling?

Indkapsling er den vigtige funktion ved objektorienteret programmering. Det er en mekanisme der
binder kode og data sammen og holder dem beskyttet mod det eksterne
interferens. Det vil sige, indkapsling skjuler et systems kompleksitet,
da nøgleordet her er skjult data. Det ligner en beskyttende
indpakning, der skjuler koden og dataene i klassen, fås af
en anden kode, der er defineret uden for klassen og medlemsfunktionen / metoden
der er ikke medlemmer af klassen.


Når kode og data der fungerer
på disse data er knyttet sammen i klassen, derefter oprettes objekterne i denne klasse.
Adgangen til elementets elementer er begrænset af en veldefineret grænseflade
kendt som adgangsspecifikator. Der er tre adgang
specificerer i Java og C ++ Public, Private, Secure.

Indkapslingen opnås især ved at lave koden
og data, der fungerer på dataene, som private. De private medlemmer af klassen har ikke adgang fra den definerede kode
uden for klassen. Det hjælper med at forhindre misbrug af data, mens det også skjuler kompleksitet
af koden.

Eksempel

Lad os tage et eksempel på en mobiltelefon. I en mobiltelefon, dig
kan udføre mange funktioner som at klikke på et billede, optage en video / lyd,
ing a, få adgang til internettet og meget mere. Du betragter disse som
egenskaber ved en mobiltelefon. Men den endelige bruger behøver det ikke
forstå den interne kompleksitet af disse funktioner, inden du bruger disse
programmer, og du behøver heller ikke at ændre funktionaliteten i nogen af ​​funktionerne.

Så på denne måde skjuler indkapslingen kompleksiteten og
forhindre misbrug af dataene.

Vigtige forskelle mellem abstraktion og indkapsling

  1. Abstraktion fokuserer på komponenter, der kræves
    konstruere et system, mens indkapsling fokuserer på at skjule kompleksiteten af
    system.
  2. Abstraktionen udføres under designniveauet for et system og
    indkapsling udføres, når systemet har det
    er implementeret.
  3. Abstractions hovedmotiv er, hvad der skal gøres for at opbygge
    et system, mens Encapsulations hovedmotiv er, hvordan det skal gøres for at konstruere et system.
  4. Abstraktion opnås ved
    indkapsling, mens indkapslingen opnås ved at fremstille elementerne i
    systemet privat.

Konklusion

Abstraktion og indkapsling
begge er det vigtige træk ved OOP. En stor indkapsling kan opnå en fantastisk abstraktion.