Abstractie versus inkapseling

Schrijver: Laura McKinney
Datum Van Creatie: 8 April 2021
Updatedatum: 1 Kunnen 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 ?

Inhoud

Abstractie is een proces van
het verzamelen van cruciale informatie die een basis zal vormen voor het bouwen van een
complex Systeem. Inkapseling is een proces van het ontwikkelen van een complex systeem
gemakkelijker te beheren eindgebruiker, zonder zorgen te maken over de innerlijke complexiteit. De
verschil tussen abstractie en inkapseling is dat
abstractie richt zich op het identificeren van de essentiële componenten voor het bouwen van een
systeem terwijl inkapseling gericht is op het verbergen van de innerlijke complexiteit van een systeem.


Inhoud: Verschil tussen abstractie en inkapseling

  • Vergelijkingstabel
  • Wat is abstractie?
    • Voorbeeld
  • Wat is inkapseling?
    • Voorbeeld
  • Belangrijkste verschillen tussen abstractie en inkapseling
  • Gevolgtrekking

Vergelijkingstabel

basis- Abstractie inkapseling
Definitie Elementen die nodig zijn om een ​​te ontwikkelen
systeem.
Inkapseling is een proces van het ontwikkelen van een complex systeem
prestatie Bereikt door inkapseling. Bereikt door het maken van de leden van een
klasse als privé.
focussen Focus ligt op wat er moet gebeuren De nadruk ligt op hoe het moet worden gedaan.
Toepassing Tijdens het ontwerpniveau. Tijdens de implementatie
niveau.
Voorbeelden De grafische gebruikersinterface van een mobiele telefoon heeft enkele pictogrammen waarop moet worden geklikt
klik voer de specifieke functie uit.
Wanneer op het pictogram wordt geklikt,
de eindgebruiker heeft geen idee over de implementatiedetails

Wat is abstractie?

Abstractie is een mechanisme om de cruciale elementen te extraheren
voor het maken van een systeem, zonder de implementatiegegevens. In
abstractie, we moeten ons alleen concentreren op wat er gedaan moet worden, en niet op hoe
moet gedaan worden. Abstractie is een denkproces, het lost de problemen bij het ontwerp op
niveau.


Hiërarchische classificatie helpt ons een complexe abstractie aan te kunnen. Het stelt ons in staat om een ​​gecompliceerd systeem in beheersbare stukken op te splitsen en een gelaagde semantiek te genereren. Bovendien is het een generalisatie.

Voorbeeld

Laten we een goed voorbeeld nemen van een auto, deze is gemaakt van een aantal subsystemen zoals motor, remmen, verlichting, audiosysteem, stoel en nog veel meer. De ‘rem’ die een subsysteem van een fiets is, kan verder worden gecategoriseerd als voorwielrem en achterwielrem, maar over het algemeen zien we alle subsystemen als remmen. We moeten dus het complexe systeem beheren door middel van hiërarchische classificatie, wat ons helpt te ontdekken wat de cruciale elementen zijn die nodig zijn om een ​​systeem te ontwikkelen.

Abstractie is dus alleen generaliseren wat elementen zijn
essentieel voor het maken van een systeem, d.w.z. alleen het oppakken van de belangrijke.

Wat is inkapseling?

Inkapseling is het belangrijke kenmerk van objectgeoriënteerd programmeren. Het is een mechanisme dat
bindt code en gegevens samen en houdt ze beschermd tegen de externe
interferentie. Dat wil zeggen, inkapseling verbergt de complexiteit van een systeem,
omdat het sleutelwoord hier gegevens verbergen is. Het is vergelijkbaar met een beschermend
wrapper die de code en gegevens binnen de klasse verbergt, verkregen door
een andere code die is gedefinieerd buiten de klasse en de lidfunctie / methode
die niet de leden van de klas zijn.


Wanneer code en gegevens die werken
op die gegevens, zijn gekoppeld in de klasse, dan worden de objecten van deze klasse gemaakt.
De toegang tot de elementen van het item wordt beperkt door een goed gedefinieerde interface
bekend als toegangsspecificatie. Er zijn drie toegangen
specifiers in Java en C ++ Public, Private, Secure.

De inkapseling wordt vooral bereikt door de code te maken
en gegevens die op de gegevens werken, als privé. De privéleden van de klas hebben geen toegang tot de gedefinieerde code
buiten de klas. Het helpt bij het voorkomen van misbruik van gegevens, terwijl het ook de complexiteit verbergt
van de code.

Voorbeeld

Laten we een voorbeeld nemen van een mobiele telefoon. In een mobiele telefoon, jij
kan vele functies uitvoeren, zoals op een foto klikken, een video / audio opnemen,
ing a, toegang tot internet en nog veel meer. U beschouwt deze als de
kenmerken van een mobiele telefoon. Maar de uiteindelijke gebruiker hoeft dit niet te doen
de interne complexiteit van deze functies begrijpen voordat u deze gebruikt
programma's, noch hoeft u de functionaliteit van een functie te wijzigen.

Op deze manier verbergt de inkapseling de complexiteit en
misbruik van de gegevens voorkomen.

Belangrijkste verschillen tussen abstractie en inkapseling

  1. Abstractie richt zich op componenten die nodig zijn om
    een systeem construeren terwijl inkapseling gericht is op het verbergen van de complexiteit van de
    systeem.
  2. De abstractie gebeurt tijdens het ontwerpniveau van een systeem en
    inkapseling wordt gedaan wanneer het systeem heeft
    geïmplementeerd.
  3. Abstracties belangrijkste motief is, wat er moet worden gedaan om te bouwen
    een systeem, terwijl het belangrijkste motief van Encapsulations is, hoe het moet worden gedaan om een ​​systeem te bouwen.
  4. Abstractie wordt bereikt door
    inkapseling terwijl de inkapseling wordt bereikt door de elementen van te maken
    het systeem privé.

Gevolgtrekking

Abstractie en inkapseling
beide zijn het belangrijke kenmerk van OOP. Een geweldige inkapseling kan een fantastische abstractie bewerkstelligen.