Verschil tussen gegevensabstractie en inkapseling

Het belangrijkste verschil tussen gegevensabstractie en inkapseling is dat de data abstractie verbergt de implementatiedetails en toont alleen de functionaliteit voor de gebruiker om de codecomplexiteit te verminderen, terwijl de inkapseling de data en methoden samen bindt of verpakt in een enkele eenheid en de details voor gegevensbescherming verbergt.

Object Oriented Programming (OOP) helpt de scenario's uit de echte wereld in software te modelleren. Het is een paradigma of een methodologie om een ​​programma te ontwerpen met behulp van klassen en objecten. Een klas is een blauwdruk om een ​​object te maken. Met andere woorden, het is een structuur om objecten te maken. Het bestaat uit attributen en methoden. De kenmerken beschrijven de eigenschappen of gegevens terwijl de methoden de bewerkingen of gedragingen beschrijven. Het is niet mogelijk om objecten zonder klassen te maken. Daarom is een object een instantie van een klasse. Gegevensabstractie en inkapseling zijn twee concepten in OOP.  

Key Areas Covered

1. Wat is Data-abstractie
     - Definitie, gebruik
2. Wat is inkapseling
     - Definitie, gebruik
3. Verschil tussen gegevensabstractie en inkapseling
     - Vergelijking van belangrijke verschillen

Sleutelbegrippen

Data-abstractie, inkapseling, OOP

Wat is Data-abstractie

Gegevensabstractie verwijst naar het verbergen van de interne details en het tonen van de functionaliteit. Met andere woorden, het verbergt de implementatiedetails en presenteert de functies gewoon aan de buitenwereld. Een echt voorbeeld is een televisie. De gebruiker hoeft de interne elektronische schakelingen en de functionaliteiten om televisie te kijken niet te kennen. Een ander voorbeeld is het gebruik van een mobiele telefoon. De gebruiker hoeft geen interne verwerking te kennen. Hij moet alleen de belangrijkste functies kennen, zoals bellen, berichten verzenden of surfen op internet.

Data Abstraction biedt voordelen bij het ontwikkelen van software. Het belangrijkste is dat het de complexiteit van de code vermindert. Bovendien verbergt het details en legt het de essentiële functies bloot. De OOP-ondersteuningstalen helpen om gegevens abstractie te bereiken met behulp van abstracte klassen en interfaces.

Wat is inkapseling

Inkapseling combineert gegevens en methoden in een enkele eenheid. Het belangrijkste doel van inkapseling is om de gegevens te beveiligen. Het is vergelijkbaar met een medische capsule. De geneeskunde zit in de capsule en is bedekt en beschermd tegen de buitenwereld.

Figuur 01: inkapseling

De methode om inkapseling te bereiken is door gebruik te maken van toegangsmodificaties zoals "privé" en "publiek". Ze veranderen de zichtbaarheid van de gegevens of de methoden. De privé-leden zijn alleen toegankelijk binnen de klas, terwijl de openbare leden toegankelijk zijn binnen de klas en door andere klassen.

Het is mogelijk om inkapseling in OOP-taal te implementeren door de gegevensleden of -eigenschappen privé te maken en deze te benaderen via openbare methoden zoals getters en setters. Evenzo comprimeert Encapsulation de gegevens en de methode tot één eenheid. Bovendien biedt het bescherming van de gegevens.

Verschil tussen gegevensabstractie en inkapseling

Definitie

Data Abstraction is een OOP-concept dat de implementatiedetails verbergt en alleen de functionaliteit aan de gebruiker toont. Encapsulation is een OOP-concept dat de gegevens en methoden samenbindt of omwikkelt tot een enkele eenheid.

Hoofdgebruik

Gegevensabstractie verbergt de implementatiedetails om de codecomplexiteit te verminderen, terwijl inkapseling gegevens verbergt met het oog op gegevensbescherming. Dit is het belangrijkste verschil tussen gegevensabstractie en inkapseling met betrekking tot het gebruik van de twee. 

Methode van bereiken

OOP-talen gebruiken abstracte klassen en interfaces om gegevensabstractie te bereiken. In tegenstelling tot OOP-talen kan Encapsulation worden bereikt door de gegevensleden privé te maken en deze via openbare methoden te benaderen.

Conclusie

Gegevens abstractie en inkapseling zijn twee concepten in OOP (Object Oriented Programming). Het verschil tussen gegevensabstractie en inkapseling is dat de gegevensabstractie implementatiedetails verbergt om de codecomplexiteit te verminderen, terwijl de inkapseling details voor gegevensbescherming verbergt.

Referentie:

1. Trainingspunt. "Java Encapsulation." Www.tutorialspoint.com, Tutorials Point, 24 Mar. 2018, hier beschikbaar.
2. "Abstractie in Java." GeeksforGeeks, 14 nov. 2017, hier beschikbaar.
3. "Encapsulation in Java." Javatpoint, hier beschikbaar.