Belangrijk verschil: abstractie en inkapseling zijn computerwetenschappelijke programmaconcepten. Een abstractie is een proces waarbij de extra kenmerken van de gegevens worden verwijderd of gescheiden van de gegevens; overwegende dat een inkapseling een mechanisme is waarbij de gegevens worden verborgen en gebundeld in methoden.
Abstractie is een gegeneraliseerd proces waarbij de extra gegevens worden weggehaald en verwijderd om de gegevens concreet te maken. In computers is het een programmeermethode die helpt bij het converteren van de gegevens naar een beknopte vorm. De gegevens en het programma zijn niet veranderd in deze methode, maar ze worden in dezelfde oorspronkelijke vorm gehouden; het enige verschil is dat ze worden gereduceerd tot een kleinere presenteerbare vorm. Abstraction probeert de details te reduceren en weg te nemen, zodat de programmeur zich op een paar concepten tegelijk kan concentreren.
Een systeem kan veel van dergelijke lagen van abstracties hebben, die verschillende betekenissen en details hebben. Laagniveau abstractielagen leggen bijvoorbeeld details bloot van de computerhardware waar het programma wordt uitgevoerd, terwijl hoogniveau-lagen omgaan met de bedrijfslogica van het programma. Deze details worden vervolgens ten tijde van de uitvoering aan de programmeur getoond. Abstractie is een concept of een idee, dat niet geassocieerd is met een bepaald geval. Het legt alleen die details vast van de gegevens die betrekking hebben op zijn objecten en huidige perspectieven. Het speelt een belangrijke rol in de familie van objecten (in de concepten van Object-Oriented-Programming). en wordt op verschillende manieren en implementaties gebruikt.
Het concept van abstractie kan worden geïmplementeerd in:
- Controle Abstractie: Het is de abstractie van acties.
- Data-abstractie: hiermee kunnen de databits en datastructuren op zinvolle manieren worden verwerkt en verwerkt.
Inkapseling in computerprogrammering benadrukt zijn functies in twee verschillende notaties, ze zijn als:
- Een taalmechanisme dat de toegang tot componenten van een object beperkt.
- Een taalconstructie die het bundelen van gegevens vergemakkelijkt met de methoden (en andere functies) die op die gegevens werken.
Inkapseling zijn de verborgen mechanismen, die een vitale rol spelen bij het beschermen en beveiligen van de gegevens van de buitenstaanders. Het biedt in feite de basisintegriteit van de gegevens door het misbruik van echte gegevens te voorkomen. Bij inkapseling worden de gegevens opgeslagen en gebruikt in de oorspronkelijke geldige en consistente indeling.
In het algemeen betekent inkapseling dat een object van de gebruiker wordt bewaard en in algemene vorm wordt weergegeven. Kortom, bij inkapseling zijn de extra details verborgen voor de buitenomgeving. De objectenvelden worden direct geïnspecteerd en gemanipuleerd in dit mechanisme. De informatie die zich samen met de inrichting verbergt, is gecompileerd in een versie, die verder wordt gebruikt als de broncode en via een headerbestand wordt gekoppeld. Soms proberen de openbare klassen toegang te krijgen tot de gegevens, in deze gevallen laat de inkapseling de publieke indringers niet toe om met de gegevens te spelen. Een van de belangrijkste voordelen van inkapseling is dat het helpt bij het verminderen van de complexiteit van een programma en de gebruikers helpt de exacte concepten van het programma te begrijpen, aangezien de mechanismen alleen de beknopte vorm van het programma vertegenwoordigen. Dit verhoogt de robuustheid, doordat de ontwikkelaar of programmeur de onderlinge afhankelijkheden tussen softwarecomponenten kan beperken. Encapsulation is ook van toepassing in sommige talen, zoals Smalltalk en Ruby, waarbij toegang alleen is toegestaan via objectmethoden; terwijl de meeste anderen houden van, C ++, C # of Java biedt een mate van controle aan de programmeur. Deze talen stellen de ontwikkelaars in staat om toegang te krijgen tot meer dan wat verborgen is met behulp van trefwoorden als openbaar en privé.
De abstractie en inkapseling zijn ook belangrijke fundamenten in de OOP (Object-Oriented-Programming).
Vergelijking tussen abstractie en inkapseling:
Abstractie | inkapseling | |
Korte beschrijving | Abstractie is een proces dat de essentiële details over een item of groep items extraheert en de niet-essentiële details negeert. | Inkapseling is een proces dat de gegevens in een capsule omsluit of omhult of de gegevens beknopt maakt. |
Zij zijn | Abstractie heeft betrekking op het idee om gegevens te verbergen die niet nodig zijn voor de presentatie. | Encapsulation is het groeperen van gegevens en functionaliteit. |
Basisfuncties | In principe wordt abstractie gebruikt om de ongewenste gegevens te verbergen en worden de relevante gegevens weergegeven. | Kort gezegd betekent inkapseling dat de code en gegevens worden verborgen in een enkele eenheid om de gegevens van de buitenwereld te beschermen. |
Wanneer zijn ze geëxploiteerd | Het werkt het probleem op het ontwerpniveau. | Het beheert het probleem op implementatieniveau. |
Gunstig voor de rollen | Het helpt de gebruiker om zich te concentreren op wat het object doet in plaats van hoe het elke functie doet. | Het helpt de programmeur bij het verbergen van de interne details of de mechanica van hoe een object iets doet. |
Informatie is | Hier is informatie gescheiden van de echte gegevens. | Hier is informatie verpakt in een verborgen formaat. |
lay-outs | Het gaat om de buitenste lay-out, die wordt gebruikt in termen van ontwerp. | Het gaat om de binnenlay-out, die wordt gebruikt in termen van implementatie. |
Bijvoorbeeld | De Uiterlijke Blik van een Mobiele Telefoon, die een beeldscherm en toetsenbordknoppen heeft om een nummer te kiezen. | Innerlijke implementatiedetails van een mobiele telefoon, hoe de toetsenbordknop en het beeldscherm met elkaar zijn verbonden met behulp van circuits. |