Verschil tussen gegevensabstractie en inkapseling

Inhoudsopgave:

Anonim

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 gegevens en methoden samenbindt of in een enkele eenheid verpakt en de details voor gegevensbescherming verbergt.

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

Gegevensabstractie, inkapseling, OOP

Wat is gegevensabstractie

Data-abstractie verwijst naar het verbergen van de interne details en alleen het tonen van de functionaliteit. Met andere woorden, het verbergt de implementatiedetails en presenteert de functies gewoon aan de buitenwereld. Een voorbeeld uit de praktijk is een televisie. De gebruiker hoeft de interne elektronische schakelingen en de functionaliteiten niet te kennen om televisie te kunnen kijken. Een ander voorbeeld is het gebruik van een mobiele telefoon. De gebruiker hoeft de interne verwerking niet te kennen. Hij moet alleen de belangrijkste functies kennen, zoals bellen, berichten versturen of internetten.

Data-abstractie biedt voordelen bij softwareontwikkeling. Het belangrijkste is dat het de complexiteit van de code vermindert. Bovendien verbergt het details en onthult het de essentiële functies. De OOP-ondersteunende talen helpen om gegevensabstractie 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 het beveiligen van de gegevens. Het is vergelijkbaar met een medische capsule. Medicijnen bevinden zich in de capsule en zijn bedekt en beschermd tegen de buitenwereld.

Figuur 01: Inkapseling

De methode om inkapseling te bereiken is door gebruik te maken van toegangswijzigingen zoals "private" en "public". 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 ze te openen via openbare methoden zoals getters en setters. Evenzo comprimeert Encapsulation de gegevens en methode tot één eenheid. Bovendien biedt het bescherming voor de gegevens.

Verschil tussen gegevensabstractie en inkapseling

Definitie

Data-abstractie is een OOP-concept dat de implementatiedetails verbergt en alleen de functionaliteit aan de gebruiker toont. Inkapseling is een OOP-concept dat de gegevens en methoden samenbindt of in een enkele eenheid verpakt.

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 data-abstractie en inkapseling met betrekking tot het gebruik van beide.

Methode om te bereiken

OOP-talen gebruiken abstracte klassen en interfaces om gegevensabstractie te bereiken. Daarentegen kunnen OOP-talen Encapsulation bereiken door de gegevensleden privé te maken en ze toegankelijk te maken via openbare methoden.

Conclusie

Gegevensabstractie 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 verbergt voor gegevensbescherming.

Verwijzing:

1.Tutorials Punt. "Java-inkapseling." Www.tutorialspoint.com, Tutorials Point, 24 maart 2018, hier beschikbaar.2. "Abstractie in Java." GeeksforGeeks, 14 november 2017, hier beschikbaar.3. "Inkapseling in Java." Javatpoint, hier beschikbaar.

Verschil tussen gegevensabstractie en inkapseling