Aanbevolen, 2024

Editor'S Choice

Verschil tussen abstraheren en gegevens verbergen

Abstractie en gegevens verbergen zijn de cruciale concepten van het objectgeoriënteerd programmeren. Abstractie is een methode om de belangrijke eigenschappen uit te drukken zonder de achtergronddetails te betrekken. Aan de andere kant isoleert Data verbergen de gegevens van de directe toegang door het programma. Hoewel beide concepten in die zin hetzelfde klinken, maar verschillend zijn. De abstractie biedt een manier om door de gebruiker gedefinieerde gegevenstypen te maken voor het ontwerpen van real-world objecten met dezelfde eigenschappen. Gegevensverbergen beschermen de gegevens en functies tegen ongeoorloofde toegang.

Vergelijkingstabel

Basis voor vergelijkingAbstractieGegevens verbergen
basis-
Haalt alleen relevante informatie uit en negeert onbelangrijke details.Verbergt de gegevens van de onderdelen van het programma.
DoelOm de complexiteit te verbergen.Om inkapseling te bereiken.
Klasse
Klasse gebruikt de abstractie om een ​​nieuw door de gebruiker gedefinieerd datatype af te leiden.Gegevens verbergen wordt in een klas gebruikt om de gegevens privé te maken.
Focussen op
Waarneembaar gedrag van de gegevens.Het beperken of toestaan ​​van het gebruik van gegevens binnen een capsule.

Definitie van abstractie

Abstractie wordt voornamelijk gebruikt om de complexiteit te verbergen. Het geeft de noodzakelijke kenmerken van een object aan dat het onderscheidt van alle andere typen objecten. Een abstractie concentreert zich op het externe aspect van een object. Voor een object biedt abstractie de scheiding van het cruciale gedrag van de implementatie. Het specificeert een conceptuele grens met betrekking tot de kijk van de kijker. Een goede abstractie benadrukt de details die belangrijk zijn voor de lezer of gebruiker en onderdrukt functies die irrelevant en afwijkend zijn.

Door de gebruiker gedefinieerde gegevenstypen worden gemaakt door abstracte attributen en functies binnen een klasse te definiëren voor het ontwerpen van reële objecten, met dezelfde eigenschappen. Deze kenmerken staan ​​bekend als gegevensleden omdat ze de informatie bevatten. Op dezelfde manier staan ​​de functies die op deze gegevens werken bekend als lidfuncties. Gegevensabstractie wordt geïmplementeerd als een klasse die de essentiële eigenschappen vertegenwoordigt zonder de achtergrondverklaringen op te nemen.

Soorten abstractie:

  • Procedurele abstractie - Het omvat reeksen van de instructies met de gespecificeerde functies.
  • Gegevens abstractie - Het is een verzameling gegevens die een gegevensobject specificeert en beschrijft.
  • Controle abstractie - Het is een programmacontrolemechanisme waarbij interieurdetails niet worden gespecificeerd.

Definitie van gegevens verbergen

Het verbergen van gegevens impliceert het verbergen van de gegevens uit de componenten van het programma die niet hoeven te worden opgehaald. De isolatie van de gegevens van de directe toegang door het programma wordt gegevens verbergen of informatie verbergen genoemd. Voor het verbergen van gegevens wordt inkapseling gebruikt wanneer gegevens en functies van een klasse worden beschermd tegen ongeautoriseerde toegang. Wanneer de gegevens en functie in een enkele eenheid zijn ingepakt, wordt dit echter inkapseling genoemd. Vandaar dat de gegevens verbergen helpt bij het bereiken van de inkapseling. De functionele details van een object kunnen worden behandeld via toegangsspecificaties.

Met behulp van de gegevensverbergingsconcepten worden de gegevens en functies in een klasse privé gemaakt, zodat deze niet valselijk kunnen worden geopend door de functies buiten de klasse en beschermd tegen onbedoelde wijzigingen.

Belangrijkste verschillen tussen abstractie en gegevens verbergen

  1. Abstractie toont de relevante informatie en verwerpt de niet-essentiële details. Aan de andere kant wordt het verbergen van gegevens gebruikt om de gegevens te verbergen voor de delen van het programma.
  2. Het voorafgaande doel van abstractie is om het complexe implementatiedetail van het programma of de software te verbergen. Integendeel, gegevens verbergen is geïmplementeerd om inkapseling te bereiken.
  3. Abstractie wordt in de klas gebruikt om een ​​nieuw door de gebruiker gedefinieerd datatype te maken. Daartegenover wordt in klassen gegevens verbergen gebruikt om de gegevens privé te maken.
  4. De abstractie concentreert zich op het waarneembare gedrag van de gegevens, terwijl gegevensverbergen het gebruik van gegevens binnen een capsule beperken of toestaan.

Conclusie

Zowel abstractie als gegevens verbergen die bedoeld zijn om gewoon de vereiste informatie te tonen en de details van de inessentials te verbergen, maar voor het specifieke doel. Abstractie benadrukt in het verbergen van de implementatiecomplexiteit terwijl in de gegevensverbergingen de aandacht wordt gegeven aan de bescherming van gegevens tegen de ongeoorloofde toegang.

Top