Introducere în încapsulare în C ++

Încapsulare înseamnă procesul de înfășurare a datelor și funcțiilor într-o singură capsulă. De asemenea, protejează datele de la alte clase, limitând accesul. Practic ascunde datele. Dacă luăm un exemplu real de colegiu, avem diferite departamente precum Fizică, Chimie și Biologie, etc. Poate apărea o situație în care, șeful departamentului de fizică are nevoie de informații de la departamentul de biologie, el nu poate accesați datele din departamentul respectiv. În primul rând, ar trebui să contacteze șeful departamentului de biologie, apoi să-i solicite să dea datele. Așa funcționează încapsularea.

Cum se utilizează încapsularea în C ++?

Pentru a realiza acest lucru, trebuie să urmăm pașii de mai jos:

  1. În primul rând, trebuie să facem priviți toți membrii datelor.
  2. Apoi, funcțiile getter și setter publice ar trebui să fie create pentru fiecare membru de date, astfel încât, funcția get să obțină valoarea de membru de date, iar funcția set setează valoarea de membru de date.

Încapsularea și ascunderea datelor se pot realiza în C ++, prin utilizarea tipurilor definite de utilizator numite Classes. Specificatorii de acces din clase pot fi private, protejate sau publice. În mod implicit, toate articolele dintr-o clasă sunt private. În funcție de necesitate, putem schimba nivelurile de acces. Trei niveluri de specificatori de acces sunt următoarele:

  • Privat : Membrii aceleiași clase pot accesa datele.
  • Public : Toate clasele pot accesa datele.
  • Protejat : Accesul datelor este permis membrilor din aceeași clasă sau clase derivate.

Cea mai bună utilizare a încapsulării se face numai atunci când folosim fie privat, fie protejat. Atunci când folosim public trebuie să ne asigurăm că, cunoaștem nevoia corectă a acestuia în cod.

Pentru a explica acest lucru, vom arunca o privire la clasa de mai jos.

Aici fizica, chimia și biologia sunt de tip dublu și sunt variabile private. GetTotalMarks () este o metodă publică folosită pentru preluarea notelor totale ale tuturor celor trei subiecți. Nu putem accesa fiecare subiect dintr-o altă clasă din cauza nivelului său de protecție. Dar putem accesa metoda și putem folosi pentru a prelua notele totale trecând semne individuale ale subiectului. Putem seta notele fiecărui subiect folosind metoda setter, pe care o vom analiza în următorul exemplu.

Exemplu de încapsulare în C ++ cu pași

Mai jos este prezentată instrucțiunea pas cu pas pentru implementarea încapsulării.

1) Să luăm în considerare scenariul în care trebuie să calculăm notele totale ale studentului, calculând suma la trei subiecți, adică Fizică, Chimie și Biologie. Dar starea este astfel încât o altă clasă

2) În primul rând, include iostream pentru funcționalitatea de intrare și ieșire.

3) Utilizați spațiul de nume std

4) Scrieți o clasă care să conțină toate datele și funcțiile. Să fie student.

5) Declarați variabilele private fizica, chimia și biologia. Acest lucru spune că nu putem accesa variabilele în afara acestei clase de Student. Dar le putem accesa local și modifica valoarea, dacă este nevoie. Pentru a modifica valoarea, putem scrie o funcție publică de setare și accesați-o într-o altă clasă.

6) Scrieți o funcție numită SetMarks, care va fi folosită pentru a seta valorile variabilelor private. Deoarece nu putem accesa fizica, chimia și biologia variabilelor private în afara clasei de studenți, avem nevoie de această funcție pentru a seta aceste valori din clasa externă. Această metodă va fi publică, deoarece trebuie să o accesăm în afara clasei. Avem nevoie de trei parametri pentru a obține valorile pentru fiecare subiect. În cadrul funcției, vom seta valoarea variabilelor private.

7) Avem nevoie de încă o metodă pentru a obține notele totale de la toate cele trei subiecte prin adăugarea notelor. Această metodă este publică. Numiți această metodă în afara clasei și vom primi suma notelor celor trei subiecți.

8) Acum, în afara acestei clase, vom scrie funcția principală.

9) În interiorul funcției principale mai întâi, vom accesa elevul clasei și vom crea un obiect al clasei.

10) În pasul următor, vom apela funcția pentru a stabili notele celor trei subiecți. Aici vom trece marcajele ca parametri funcției. Mai jos este o bucată de cod pentru a realiza acest lucru.

11) În continuare, vom obține notele totale și vom tipări valoarea. Și întoarce 0 la sfârșit.

12) Poți ghici ieșirea codului? Ai dreptate. Ieșirea este prezentată mai jos.

Rezultat: 240

13) Acum vom analiza cum am obținut această ieșire. Întrucât nu am putut accesa variabilele private, am scris o funcție Setter care preia valori din altă clasă și modifică variabilele. Funcția Getter preia variabilele, le adaugă și trimite notele totale ale studentului. De fiecare dată când trecem trei valori diferite funcției de setare, putem vedea că notele totale pe care le obținem variază în mod corespunzător.

14) Din aceasta, putem spune că încapsularea ne ajută să protejăm unele dintre datele necesare, de asemenea funcțiile setter și getter sunt folosite pentru a-și modifica valorile. Făcând asta. Protecția se realizează și fără a ne împiedica scopul.

Concluzie

În acest articol, am aflat despre cum se poate realiza încapsularea în C ++. Procedând astfel, putem obține următoarele avantaje.

  • Clasele după încapsulare cresc lizibilitatea și reduc complexitatea.
  • Ajută la protejarea datelor.
  • Confidențialitatea datelor din clasă poate fi modificată fără a modifica întregul cod utilizând modificatori de acces.

Articole recomandate

Acesta este un ghid pentru încapsularea în C ++. Aici vom discuta despre cum se utilizează încapsularea în C ++ împreună cu Exemplul de încapsulare în C ++ cu Pașii. De asemenea, puteți consulta următoarele articole pentru a afla mai multe -

  1. Algoritmul de criptare
  2. Criptarea simetrică a cheilor
  3. Ce este criptarea?
  4. Introducere în încapsulare în C
  5. Încapsulare în JavaScript (Avantaje)
  6. Modificatori de acces în PHP