Verschil Tussen Inkapseling En Abstractie

Verschil Tussen Inkapseling En Abstractie
Verschil Tussen Inkapseling En Abstractie

Video: Verschil Tussen Inkapseling En Abstractie

Video: Verschil Tussen Inkapseling En Abstractie
Video: Windesheim kennisclip - De theorie van Piaget 2024, Mei
Anonim

Inkapseling versus abstractie

Inkapseling en abstractie zijn twee verschillende maar verwante concepten die worden aangetroffen in OOP-talen (Object Oriented Programming). Inkapseling is het concept van het combineren van gegevens en gedrag tot één geheel. Aan de andere kant is abstractie het proces waarbij wordt gepresenteerd hoe een entiteit zich gedraagt / eruitziet in tegenstelling tot hoe het wordt geïmplementeerd.

Wat is inkapseling?

Inkapseling is het proces van het verpakken van gegevens en bewerkingen die erop werken in een enkele entiteit. Dit betekent in wezen dat om toegang te krijgen tot gegevens, bepaalde vooraf gedefinieerde methoden moeten worden gebruikt. Met andere woorden, ingekapselde gegevens zijn niet direct toegankelijk. Dit zorgt ervoor dat de integriteit van de gegevens behouden blijft, omdat de gebruiker niet rechtstreeks toegang heeft tot de gegevens en deze niet kan wijzigen zoals hij / zij wenst. De gebruikers krijgen of stellen de gegevenswaarden alleen in via de methoden die openbaar beschikbaar zijn voor de gebruikers. Deze methoden bieden meestal gegevensvalidatie, zodat alleen de gegevens in de juiste indeling in de velden mogen worden ingevoerd. Daarom zijn de voordelen van inkapseling drievoudig. Via Encapsulation kan de programmeur velden van een klasse alleen-lezen of alleen schrijven maken. Ten tweede,een klasse kan totale controle hebben over wat er in zijn velden wordt opgeslagen. Ten slotte hoeven de gebruikers van een klas zich geen zorgen te maken over hoe de gegevens worden opgeslagen. In Java kan de programmeur alle instantievariabelen als privé declareren en get en set-methoden (die openbaar zijn) bieden om toegang te krijgen tot de privévelden en deze te wijzigen.

Wat is abstractie?

Abstractie is het proces waarbij de presentatiedetails worden gescheiden van de implementatiedetails. Dit wordt gedaan zodat de ontwikkelaar wordt ontlast van de meer complexe implementatiedetails. In plaats daarvan kan de programmeur zich concentreren op de presentatie of de gedragsdetails van de entiteit. In eenvoudige bewoordingen richt abstractie zich op hoe een bepaalde entiteit kan worden gebruikt in plaats van hoe deze wordt geïmplementeerd. Abstractie verbergt in wezen de implementatiedetails, zodat zelfs als de implementatiemethodologie in de loop van de tijd verandert, de programmeur zich geen zorgen hoeft te maken over de gevolgen voor zijn programma. Een systeem kan worden geabstraheerd in verschillende lagen of niveaus. Laag-niveau abstractielagen zullen bijvoorbeeld hardwaredetails onthullen, terwijl hoog-niveau abstractie alleen de bedrijfslogica van de entiteit zal onthullen. De term abstractie kan worden gebruikt om zowel naar een entiteit als naar een proces te verwijzen en dit leidt tot enige verwarring. Als een proces betekent abstractie het extraheren van essentiële details terwijl de niet-essentiële details van een item of een groep items worden genegeerd, terwijl abstractie als een entiteit een model of een weergave van een entiteit betekent met alleen de essentiële details. In Java kan de programmeur het sleutelwoord abstract gebruiken om een klasse als een abstracte entiteit te declareren, wat de essentiële definiërende kenmerken van een entiteit uit de echte wereld vertegenwoordigt.de programmeur kan het sleutelwoord abstract gebruiken om een klasse als een abstracte entiteit te declareren, die de essentiële definiërende kenmerken van een entiteit uit de echte wereld vertegenwoordigt.de programmeur kan het trefwoord abstract gebruiken om een klasse als een abstracte entiteit aan te duiden, die de essentiële definiërende kenmerken van een entiteit uit de echte wereld vertegenwoordigt.

Wat is het verschil tussen inkapseling en abstractie?

Hoewel inkapseling en abstractie sterk verwante concepten zijn die worden aangetroffen in objectgeoriënteerde programmeertalen, hebben ze belangrijke verschillen. Abstractie is een techniek die ons helpt te identificeren wat zichtbaar moet zijn en wat verborgen moet zijn. Inkapseling is de techniek om de informatie zo te verpakken dat het zichtbaar maakt wat zichtbaar moet zijn en verbergt wat verborgen moet zijn. Met andere woorden, inkapseling kan worden geïdentificeerd als een stap voorbij abstractie. Terwijl abstractie een object uit de echte wereld reduceert tot zijn essentiële bepalende kenmerken, breidt inkapseling dit idee uit door deze functionaliteit van die entiteit te modelleren en te koppelen.

Aanbevolen: