Abstractie versus inkapseling
Inhoud
- Inhoud: Verschil tussen abstractie en inkapseling
- Vergelijkingstabel
- Wat is abstractie?
- Voorbeeld
- Wat is inkapseling?
- Voorbeeld
- Belangrijkste verschillen tussen abstractie en inkapseling
- Gevolgtrekking
Abstractie is een proces van
het verzamelen van cruciale informatie die een basis zal vormen voor het bouwen van een
complex Systeem. Inkapseling is een proces van het ontwikkelen van een complex systeem
gemakkelijker te beheren eindgebruiker, zonder zorgen te maken over de innerlijke complexiteit. De
verschil tussen abstractie en inkapseling is dat
abstractie richt zich op het identificeren van de essentiële componenten voor het bouwen van een
systeem terwijl inkapseling gericht is op het verbergen van de innerlijke complexiteit van een systeem.
Inhoud: Verschil tussen abstractie en inkapseling
- Vergelijkingstabel
- Wat is abstractie?
- Voorbeeld
- Wat is inkapseling?
- Voorbeeld
- Belangrijkste verschillen tussen abstractie en inkapseling
- Gevolgtrekking
Vergelijkingstabel
basis- | Abstractie | inkapseling |
Definitie | Elementen die nodig zijn om een te ontwikkelen systeem. | Inkapseling is een proces van het ontwikkelen van een complex systeem |
prestatie | Bereikt door inkapseling. | Bereikt door het maken van de leden van een klasse als privé. |
focussen | Focus ligt op wat er moet gebeuren | De nadruk ligt op hoe het moet worden gedaan. |
Toepassing | Tijdens het ontwerpniveau. | Tijdens de implementatie niveau. |
Voorbeelden | De grafische gebruikersinterface van een mobiele telefoon heeft enkele pictogrammen waarop moet worden geklikt klik voer de specifieke functie uit. | Wanneer op het pictogram wordt geklikt, de eindgebruiker heeft geen idee over de implementatiedetails |
Wat is abstractie?
Abstractie is een mechanisme om de cruciale elementen te extraheren
voor het maken van een systeem, zonder de implementatiegegevens. In
abstractie, we moeten ons alleen concentreren op wat er gedaan moet worden, en niet op hoe
moet gedaan worden. Abstractie is een denkproces, het lost de problemen bij het ontwerp op
niveau.
Hiërarchische classificatie helpt ons een complexe abstractie aan te kunnen. Het stelt ons in staat om een gecompliceerd systeem in beheersbare stukken op te splitsen en een gelaagde semantiek te genereren. Bovendien is het een generalisatie.
Voorbeeld
Laten we een goed voorbeeld nemen van een auto, deze is gemaakt van een aantal subsystemen zoals motor, remmen, verlichting, audiosysteem, stoel en nog veel meer. De ‘rem’ die een subsysteem van een fiets is, kan verder worden gecategoriseerd als voorwielrem en achterwielrem, maar over het algemeen zien we alle subsystemen als remmen. We moeten dus het complexe systeem beheren door middel van hiërarchische classificatie, wat ons helpt te ontdekken wat de cruciale elementen zijn die nodig zijn om een systeem te ontwikkelen.
Abstractie is dus alleen generaliseren wat elementen zijn
essentieel voor het maken van een systeem, d.w.z. alleen het oppakken van de belangrijke.
Wat is inkapseling?
Inkapseling is het belangrijke kenmerk van objectgeoriënteerd programmeren. Het is een mechanisme dat
bindt code en gegevens samen en houdt ze beschermd tegen de externe
interferentie. Dat wil zeggen, inkapseling verbergt de complexiteit van een systeem,
omdat het sleutelwoord hier gegevens verbergen is. Het is vergelijkbaar met een beschermend
wrapper die de code en gegevens binnen de klasse verbergt, verkregen door
een andere code die is gedefinieerd buiten de klasse en de lidfunctie / methode
die niet de leden van de klas zijn.
Wanneer code en gegevens die werken
op die gegevens, zijn gekoppeld in de klasse, dan worden de objecten van deze klasse gemaakt.
De toegang tot de elementen van het item wordt beperkt door een goed gedefinieerde interface
bekend als toegangsspecificatie. Er zijn drie toegangen
specifiers in Java en C ++ Public, Private, Secure.
De inkapseling wordt vooral bereikt door de code te maken
en gegevens die op de gegevens werken, als privé. De privéleden van de klas hebben geen toegang tot de gedefinieerde code
buiten de klas. Het helpt bij het voorkomen van misbruik van gegevens, terwijl het ook de complexiteit verbergt
van de code.
Voorbeeld
Laten we een voorbeeld nemen van een mobiele telefoon. In een mobiele telefoon, jij
kan vele functies uitvoeren, zoals op een foto klikken, een video / audio opnemen,
ing a, toegang tot internet en nog veel meer. U beschouwt deze als de
kenmerken van een mobiele telefoon. Maar de uiteindelijke gebruiker hoeft dit niet te doen
de interne complexiteit van deze functies begrijpen voordat u deze gebruikt
programma's, noch hoeft u de functionaliteit van een functie te wijzigen.
Op deze manier verbergt de inkapseling de complexiteit en
misbruik van de gegevens voorkomen.
Belangrijkste verschillen tussen abstractie en inkapseling
- Abstractie richt zich op componenten die nodig zijn om
een systeem construeren terwijl inkapseling gericht is op het verbergen van de complexiteit van de
systeem. - De abstractie gebeurt tijdens het ontwerpniveau van een systeem en
inkapseling wordt gedaan wanneer het systeem heeft
geïmplementeerd. - Abstracties belangrijkste motief is, wat er moet worden gedaan om te bouwen
een systeem, terwijl het belangrijkste motief van Encapsulations is, hoe het moet worden gedaan om een systeem te bouwen. - Abstractie wordt bereikt door
inkapseling terwijl de inkapseling wordt bereikt door de elementen van te maken
het systeem privé.
Gevolgtrekking
Abstractie en inkapseling
beide zijn het belangrijke kenmerk van OOP. Een geweldige inkapseling kan een fantastische abstractie bewerkstelligen.