Uvod u enkapsulaciju u C ++

Inkapsulacija znači postupak zamotavanja podataka i funkcija u jednu kapsulu. Također štiti podatke iz drugih klasa ograničavajući pristup. U osnovi on skriva podatke. Ako uzmemo primjer fakulteta iz stvarnog svijeta, imamo različite odjele poput fizike, kemije i biologije itd. Može se dogoditi situacija u kojoj, voditelju odjela za fiziku trebaju neke informacije s odjela za biologiju, on ne može pristupiti podacima iz tog odjela izravno. Prvo bi trebao kontaktirati voditelja odjela za biologiju, a zatim zatražiti da mu da podatke. Ovako djeluje enkapsulacija.

Kako koristiti enkapsulaciju u C ++?

Da bismo to postigli moramo slijediti korake u nastavku:

  1. Prvo moramo sve članove podataka učiniti privatnima.
  2. Tada bi trebale biti kreirane javne funkcije prikupljanja i postavljanja za svakog člana s podacima na takav način da funkcija get dobije vrijednost člana podataka i postavljena funkcija postavlja vrijednost člana podataka.

Inkapsulacija i skrivanje podataka može se postići u C ++, korištenjem korisnički definiranih tipova koji se nazivaju Klase. Specifičari pristupa u razredima mogu biti privatni, zaštićeni ili javni. Svi su predmeti u predavanju privatni. Prema potrebi, možemo promijeniti razine pristupa. Tri razine specifikacija pristupa su kako slijedi:

  • Privatno : Članovi iste klase mogu pristupiti podacima.
  • Javno : Sve klase mogu pristupiti podacima.
  • Zaštićeno : Pristup podacima je dopušten za pripadnike iste klase ili izvedenih klasa.

Najbolje korištenje enkapsulacije postiže se samo ako koristimo privatnu ili zaštićenu. Kad koristimo javno, moramo to osigurati, znamo njegovu pravu potrebu u kodu.

Da bismo to objasnili, pogledajte ispod klase.

Ovdje su fizika, kemija i biologija dvostruke i privatne su varijable. GetTotalMarks () je javna metoda koja se koristi za dohvaćanje ukupnih ocjena svih triju predmeta. Ne možemo pristupiti svakom predmetu u drugoj klasi zbog njegove razine zaštite. Ali možemo pristupiti metodi i možemo ju koristiti za pronalaženje ukupnih ocjena prolaskom pojedinih predmetnih oznaka. Oznake svakog predmeta možemo postaviti pomoću metode settera, što ćemo pogledati u sljedećem primjeru.

Primjer kapsulacije u C ++ s koracima

Ispod je detaljna uputstva za provedbu enkapsulacije.

1) Razmotrimo scenarij u kojem moramo izračunati ukupne ocjene učenika izračunavanjem zbroja u tri predmeta, tj. Fizike, kemije i biologije. Ali uvjet je takav da je druga klasa

2) Prvo uključite iostream za ulaz i izlaz funkcionalnosti.

3) Koristite naziv prostora std

4) Napišite razred koji će sadržavati sve podatke i funkcije. Neka bude Student.

5) Izjaviti privatne varijable fiziku, kemiju i biologiju. Ovo govori da ne možemo pristupiti varijablama izvan ove klase Student. Ali im možemo pristupiti lokalno i po potrebi mijenjamo vrijednost. Kako bismo izmijenili vrijednost, možemo napisati javnu funkciju postavljanja i pristupiti joj u drugoj klasi.

6) Napišite funkciju nazvanu SetMarks, koja će se koristiti za postavljanje vrijednosti privatnih varijabli. Budući da ne možemo pristupiti privatnim varijablama fiziku, kemiju i biologiju izvan razreda učenika, ova funkcija nam je potrebna za postavljanje tih vrijednosti iz vanjske klase. Ova će metoda biti javna jer joj moramo pristupiti izvan klase. Potrebna su nam tri parametra za dobivanje vrijednosti za svaki predmet. Unutar funkcije postavit ćemo vrijednost privatnih varijabli.

7) Potrebna nam je još jedna metoda da dobijemo ukupne ocjene iz sva tri predmeta dodavanjem ocjena. Ova je metoda također javna. Jednostavno nazovite ovu metodu izvan klase i dobit ćemo zbroj ocjena tri predmeta.

8) Sada ćemo izvan ove klase napisati glavnu funkciju.

9) Najprije ćemo unutar glavne funkcije pristupiti učeniku razreda i stvoriti objekt razreda.

10) U sljedećem koraku nazvat ćemo funkciju za postavljanje oznaka triju predmeta. Ovdje ćemo oznakama kao parametrima proslijediti funkciju. Ispod je dio koda da se to postigne.

11) Zatim ćemo dobiti ukupne ocjene i ispisati vrijednost. I vratite 0 na kraju.

12) Možete li pogoditi izlaz koda? U pravu si. Izlaz je prikazan dolje.

Izlaz: 240

13) Sada ćemo analizirati kako smo dobili ovaj rezultat. Budući da nismo mogli pristupiti privatnim varijablama, napisali smo funkciju Setter koja uzima vrijednosti iz druge klase i mijenja varijable. Funkcija Getter dohvaća varijable, dodaje ih i šalje ukupne ocjene učenika. Svaki put kada prenesemo tri različite vrijednosti u funkciju postavljača, možemo vidjeti da će se ukupne ocjene također mijenjati.

14) Iz ovoga možemo reći da nam kapsulacija pomaže da zaštitimo neke potrebne podatke, a također se i funkcije za postavljanje i dobivanje podataka koriste za izmjenu njihovih vrijednosti. Radeći ovo. Zaštita se postiže i bez ometanja naše svrhe.

Zaključak

U ovom smo članku saznali kako se enkapsulacija može postići u C ++. Time postižemo sljedeće prednosti.

  • Razredi nakon kapsulacije povećavaju čitljivost i smanjuju složenost.
  • Pomaže u zaštiti podataka.
  • Privatnost podataka u klasi može se promijeniti bez mijenjanja cijelog koda pomoću modifikatora pristupa.

Preporučeni članci

Ovo je vodič za Encapsulaciju u C ++. Ovdje smo raspravljali o tome kako koristiti enkapsulaciju u C ++ zajedno s primjerom enkapsulacije u C ++ s koracima. Možete pogledati i sljedeće članke da biste saznali više -

  1. Algoritam šifriranja
  2. Simetrično šifriranje ključa
  3. Što je šifriranje?
  4. Uvod u kapsulu u C
  5. Inkapsulacija u JavaScriptu (Prednosti)
  6. Pristupite modifikatorima na PHP-u

Kategorija: