encapsulation c
Een compleet overzicht van inkapseling in C ++:
We hebben abstractie uitvoerig besproken in onze vorige tutorial. Abstractie verbergt, zoals we weten, de implementatiedetails voor de gebruiker en toont alleen de interface die de gebruiker nodig heeft.
In deze tutorial bespreken we nog een ander belangrijk kenmerk van OOP, namelijk inkapseling. Abstractie en inkapseling gaan hand in hand. In feite kunnen we zeggen dat de ingekapselde code ons helpt bij abstractie. Met andere woorden, inkapseling en abstractie zijn nauw met elkaar verbonden.
welke van de volgende zaken is geen voorwaarde om een testcase te beschrijven?
Bezoek hier voor de complete C ++ cursus van experts.
We kunnen deze twee concepten dus samen bespreken, aangezien er een zeer dunne lijn is tussen inkapseling en abstractie.
Wat je leert:
- Wat is inkapseling?
- Implementatie van inkapseling
- Verschil tussen inkapseling en abstractie
- Gevolgtrekking
- Aanbevolen literatuur
Wat is inkapseling?
Gegevensinkapseling verwijst naar het proces van het samenvoegen van gegevens en functies of methoden die op deze gegevens werken in een enkele eenheid, zodat deze wordt beschermd tegen inmenging van buitenaf en misbruik.
Dit is een belangrijk objectgeoriënteerd programmeerconcept en het leidt tot nog een ander OOP-concept dat bekend staat als ' Gegevens verbergen Inkapseling verbergt gegevens en zijn leden, terwijl abstractie alleen de noodzakelijke details of interfaces naar de buitenwereld blootstelt.
In zekere zin presenteert abstractie de 'abstracte weergave' van de verborgen gegevens naar de buitenwereld. Zo hebben we al gezegd dat inkapseling en abstractie hand in hand gaan.
Een klasse in C ++ is degene waarin we gegevensleden bundelen en de functies die op deze gegevensleden werken, samen met toegangsspecificaties zoals privé, openbaar en beschermd vertegenwoordigen inkapseling. We hebben toegangsspecificaties al besproken in onze eerdere tutorial over klassen en objecten.
We weten ook dat klasleden standaard privé zijn. Wanneer we klasleden als privé verklaren en methoden om toegang te krijgen tot klasleden als openbaar, implementeren we echt inkapseling. Tegelijkertijd geven we de buitenwereld een abstracte kijk op data in de vorm van publieke methoden.
netwerkingenieur interviewvragen 250 + vragen en antwoorden uitgelegd pdf
Implementatie van inkapseling
Inkapseling in C ++ wordt geïmplementeerd als een klasse die gegevens en de functies die op deze gegevens werken samen bundelt. Meestal worden gegevens als privé gedeclareerd, zodat ze niet toegankelijk zijn buiten de klas. De methoden of functies worden als openbaar gedeclareerd en zijn toegankelijk via het object van de klasse.
We hebben echter geen directe toegang tot privé-leden en dit wordt het verbergen van gegevens genoemd. Wanneer dit is gebeurd, worden de gegevens beveiligd en zijn ze alleen toegankelijk voor functies van die specifieke klasse waarin de gegevens zijn gedeclareerd.
Uitgang:
num = 100
ch = Z
In het bovenstaande programma hebben we twee lidvariabelen samen met de methoden getter en setter in een klasse gebundeld. en dit is een voorbeeld van inkapseling.
We hebben twee variabelen gedeclareerd, namelijk num en ch als privévariabelen, zodat ze niet toegankelijk zijn voor de buitenwereld. Ze zijn alleen toegankelijk voor de functies die we openbaar hebben verklaard. We hebben dus verborgen gegevensleden als privévariabelen in een klas.
Laten we nog een voorbeeld nemen om Encapsulation in C ++ beter te begrijpen.
Uitgang:
Voer basis in voor de werknemer1: 10000
toelagen: 4324.43
inhoudingen: 1000
Werknemer: 1
Salaris: 13324.4
beste servers om te spelen op wow
Dit is nog een ander voorbeeld van inkapseling. Zoals hierboven getoond, hebben we een klasse Accounts die accountgegevens en alle functies die op deze gegevens werken, bundelt in één klasse Accounts. In de hoofdfunctie kunnen we een object van deze klasse maken en toegang krijgen tot functies om de gewenste informatie te krijgen.
Als sommige andere klassen nu zeggen dat de werknemersgegevens toegang willen tot accountgegevens, dan kan dit niet rechtstreeks. Het zal een object van klasse-accounts moeten maken en zal alleen toegang hebben tot die items die openbaar zijn. Op deze manier garanderen we door middel van inkapseling de toegangscontrole van de data en zorgen we ook voor de integriteit van de data.
Verschil tussen inkapseling en abstractie
Abstractie en inkapseling zijn nauw met elkaar verbonden. Inkapseling helpt bij abstractie door gegevens en methoden die op die gegevens werken samen te bundelen.
Inkapseling | Abstractie |
---|---|
Verbergt de gegevens | Verbergt implementatie |
Bundelt gegevens en methoden samen | Biedt een abstracte interface voor de gebruiker die alleen laat zien wat nodig is |
Helpt bij abstractie | Helpt bij hergebruik en beveiliging van de code. |
Geïmplementeerd als een klasse met toegangsspecificaties die de toegang tot gegevensleden en methoden definiëren | Geïmplementeerd als een abstracte klasse en interfaces die niet kunnen worden geïnstantieerd. |
Gevolgtrekking
Inkapseling is een van de belangrijkste kenmerken van OOP, omdat het ons een manier biedt om de gegevens te verbergen. Dit maakt op zijn beurt gegevens veiliger en beschermt ze tegen kwaadwillig gebruik.
Inkapseling helpt bij abstractie, zodat we alleen de vereiste interface aan de eindgebruiker kunnen tonen en andere details dienovereenkomstig kunnen verbergen. In deze tutorial hebben we de concepten voor abstractie en inkapseling in C ++ bekeken.
In onze aanstaande tutorial zullen we Inheritance in C ++ met voorbeelden bespreken.
Bezoek hier voor de exclusieve C ++ Training Tutorial Series.
Aanbevolen literatuur
- Data-abstractie in C ++
- C ++ gegevenstypen
- Beste GRATIS C # Tutorial-serie: de ultieme C # -gids voor beginners
- 70+ BESTE C ++ Tutorials om GRATIS C ++ Programmeren te leren
- Bibliotheekfuncties in C ++
- Objectgeoriënteerd programmeren in C ++
- Inleiding tot gegevensstructuren in C ++
- Initializer-lijsten in C ++