Inleiding tot inkapseling in C ++

Inkapseling betekent het proces waarbij de gegevens en functies in één capsule worden verpakt. Het beschermt ook de gegevens van andere klassen door de toegang te beperken. Kortom, het verbergt de gegevens. Als we een realistisch voorbeeld van een universiteit nemen, hebben we verschillende afdelingen zoals natuurkunde, scheikunde en biologie, enz. Er kan zich een situatie voordoen waarin het hoofd van de afdeling natuurkunde informatie van de afdeling biologie nodig heeft, hij kan het niet rechtstreeks toegang tot de gegevens van die afdeling. Eerst moet hij contact opnemen met het hoofd van de afdeling Biologie en hem vervolgens vragen de gegevens te verstrekken. Dit is hoe inkapseling werkt.

Hoe encapsulation in C ++ te gebruiken?

Om dit te bereiken moeten we de onderstaande stappen volgen:

  1. Eerst moeten we alle gegevensleden privé maken.
  2. Vervolgens moeten openbare getter- en setterfuncties voor elk gegevenslid worden gemaakt op een zodanige manier dat de functie get de waarde van het gegevenslid krijgt en de ingestelde functie de waarde van het gegevenslid.

Inkapseling en het verbergen van gegevens kunnen worden bereikt in C ++, door gebruik te maken van door de gebruiker gedefinieerde typen die klassen worden genoemd. De toegangsspecificaties in klassen kunnen privé, beveiligd of openbaar zijn. Standaard zijn alle items in een klasse privé. Afhankelijk van de behoefte kunnen we de toegangsniveaus wijzigen. Drie niveaus van toegangsspecificaties zijn als volgt:

  • Privé : leden van dezelfde klasse hebben toegang tot de gegevens.
  • Openbaar : alle klassen hebben toegang tot de gegevens.
  • Beschermd : toegang tot gegevens is toegestaan ​​voor leden van dezelfde klasse of afgeleide klassen.

Het beste gebruik van inkapseling wordt alleen gedaan als we privé of beveiligd gebruiken. Bij het gebruik van publiek moeten we ervoor zorgen dat we de juiste behoefte in de code kennen.

Om dit uit te leggen, zullen we de onderstaande klasse bekijken.

Hier zijn natuurkunde, scheikunde en biologie van het type dubbel en zijn het privévariabelen. GetTotalMarks () is een openbare methode die wordt gebruikt om de totale cijfers van alle drie de onderwerpen op te halen. We hebben geen toegang tot elk onderwerp in een andere klasse vanwege het beveiligingsniveau. Maar we hebben toegang tot de methode en kunnen worden gebruikt om het totale aantal op te halen door individuele onderwerpsmerken te passeren. We kunnen de markeringen van elk onderwerp instellen met behulp van de setter-methode, die we in het volgende voorbeeld zullen bekijken.

Voorbeeld van inkapseling in C ++ met stappen

Hieronder vindt u de stapsgewijze instructie om de inkapseling te implementeren.

1) Laten we het scenario bekijken waarin we de totale cijfers van de student moeten berekenen door de som te berekenen in drie vakken, namelijk natuurkunde, scheikunde en biologie. Maar de voorwaarde is zodanig dat een andere klasse

2) Neem eerst de iostream op voor de invoer- en uitvoerfunctionaliteit.

3) Gebruik de naamruimte std

4) Schrijf een klas waarin alle gegevens en functies staan. Laat het student zijn.

5) Verklaar de privévariabelen natuurkunde, scheikunde en biologie. Dit geeft aan dat we geen toegang hebben tot de variabelen buiten deze studentenklasse. Maar we kunnen ze lokaal openen en de waarde indien nodig wijzigen. Om de waarde te wijzigen, kunnen we een openbare setterfunctie schrijven en deze in een andere klasse openen.

6) Schrijf een functie genaamd SetMarks, die zal worden gebruikt om de waarden van de privévariabelen in te stellen. Omdat we geen toegang hebben tot de privévariabelen natuurkunde, scheikunde en biologie buiten de studentenklasse, hebben we deze functie nodig om deze waarden van de externe klasse in te stellen. Deze methode is openbaar omdat we er buiten de klas toegang toe moeten hebben. We hebben drie parameters nodig om de waarden voor elk onderwerp te krijgen. Binnen de functie zullen we de waarde van de privévariabelen instellen.

7) We hebben nog een methode nodig om het totale cijfer van alle drie de onderwerpen te krijgen door de cijfers toe te voegen. Deze methode is ook openbaar. Noem deze methode gewoon buiten de klas en we krijgen de som van de cijfers van de drie vakken.

8) Nu buiten deze klasse, zullen we de hoofdfunctie schrijven.

9) Eerst binnen de hoofdfunctie, zullen we toegang krijgen tot de klasstudent en een object van de klas maken.

10) In de volgende stap zullen we de functie oproepen om de markeringen van de drie onderwerpen in te stellen. Hier geven we de tekens als parameters door aan de functie. Hieronder staat het stukje code om dit te bereiken.

11) Vervolgens krijgen we de totale cijfers en drukken we de waarde af. En geef 0 terug aan het einde.

12) Kun je de uitvoer van de code raden? Je hebt gelijk. De output wordt hieronder getoond.

Uitgang: 240

13) Nu zullen we analyseren hoe we deze uitvoer hebben verkregen. Omdat we geen toegang konden krijgen tot de privévariabelen, schreven we een Setter-functie die waarden uit andere klassen aanneemt en de variabelen wijzigt. Getter-functie haalt de variabelen op, voegt ze toe en verzendt de totale cijfers van de student. Telkens wanneer we drie verschillende waarden doorgeven aan de setter-functie, kunnen we zien dat het totale aantal tekens dat we krijgen ook dienovereenkomstig varieert.

14) Hieruit kunnen we zeggen dat inkapseling ons helpt om enkele van de benodigde gegevens te beschermen. Ook worden setter- en getter-functies gebruikt om hun waarden te wijzigen. Door dit te doen. Bescherming wordt ook bereikt zonder ons doel te belemmeren.

Conclusie

In dit artikel hebben we geleerd hoe inkapseling kan worden bereikt in C ++. Door dit te doen kunnen we de volgende voordelen behalen.

  • Klassen na inkapseling verhogen de leesbaarheid en verminderen de complexiteit.
  • Het helpt bij het beschermen van de gegevens.
  • De privacy van de gegevens in de klasse kan worden gewijzigd zonder de hele code te wijzigen met behulp van toegangsmodificatoren.

Aanbevolen artikelen

Dit is een handleiding voor de inkapseling in C ++. Hier bespreken we hoe encapsulation te gebruiken in C ++ samen met het voorbeeld van encapsulation in C ++ met Steps. U kunt ook de volgende artikelen bekijken voor meer informatie -

  1. Encryptie algoritme
  2. Symmetrische sleutelversleuteling
  3. Wat is codering?
  4. Inleiding tot inkapseling in C
  5. Inkapseling in JavaScript (voordelen)
  6. Toegang tot modificaties in PHP