Johdatus kapselointiin C ++: ssa

Kapselointi tarkoittaa tietojen ja toimintojen käärimistä yhdeksi kapseliksi. Se suojaa myös muiden luokkien tietoja rajoittamalla pääsyä. Pohjimmiltaan se piilottaa tiedot. Jos otamme reaalimaailman esimerkin yliopistosta, meillä on erilaisia ​​osastoja, kuten fysiikan, kemian ja biologian jne. Voi syntyä tilanne, jossa fysiikan osaston päällikkö tarvitsee tietoja biologian laitokselta, hän ei voi käyttää suoraan kyseisen osaston tietoja. Ensin hänen tulee ottaa yhteyttä biologian osaston päällikköön, sitten pyytää häntä antamaan tiedot. Näin kapselointi toimii.

Kuinka käyttää kapselointia C ++: ssa?

Tämän saavuttamiseksi meidän on noudatettava seuraavia vaiheita:

  1. Ensinnäkin meidän on tehtävä kaikista tietojäsenistä yksityisiä.
  2. Sitten julkinen hakija- ja asettajatoiminnot tulisi luoda jokaiselle datajäsenelle siten, että get-toiminto saa datajäsenen arvon ja asetettu toiminto asettaa datajäsenen arvon.

Kapselointi ja tietojen piilottaminen voidaan saavuttaa C ++: ssa käyttämällä käyttäjän määrittämiä tyyppejä, joita kutsutaan luokiksi. Luokkien käyttöoikeustiedot voivat olla yksityisiä, suojattuja tai julkisia. Oletuksena kaikki luokan kohteet ovat yksityisiä. Tarpeen mukaan voimme muuttaa käyttöoikeustasoja. Kolme käyttöoikeustason tasoa ovat seuraavat:

  • Yksityinen : Saman luokan jäsenet voivat käyttää tietoja.
  • Julkinen : Kaikilla luokilla on pääsy tietoihin.
  • Suojattu : Tietojen käyttö on sallittu saman luokan tai johdetun luokan jäsenille.

Kapselointi tapahtuu parhaiten vain, kun käytämme joko yksityistä tai suojattua. Kun käytät julkista, meidän on varmistettava, että tiedämme sen asianmukaisen tarpeen koodissa.

Tämän selittämiseksi katsotaan alla olevaa luokkaa.

Tässä fysiikka, kemia ja biologia ovat tyyppiä tupla ja ovat yksityisiä muuttujia. GetTotalMarks () on julkinen menetelmä, jota käytetään kaikkien kolmen aiheen kokonaismerkkien noutamiseen. Emme pääse kukaan toisen luokan oppiaineeseen sen suojaustason takia. Mutta menetelmää voidaan käyttää, ja sitä voidaan käyttää kokonaismerkkien noutamiseen ohittamalla yksittäiset aihemerkit. Voimme asettaa kunkin kohteen merkit setter-menetelmällä, jota tarkastelemme seuraavassa esimerkissä.

Esimerkki kapseloinnista C ++: seen vaiheilla

Alla on vaihe vaiheelta ohjeet kapseloinnin toteuttamiseksi.

1) Tarkastellaan tilannetta, jossa meidän on laskettava opiskelijan kokonaispisteet laskemalla summa kolmesta aiheesta eli fysiikasta, kemiasta ja biologiasta. Mutta ehto on sellainen, että toinen luokka

2) Sisällytä ensin tulo- ja lähtötoimintojen iostream.

3) Käytä nimitilaa std

4) Kirjoita luokka kaikkien tietojen ja toimintojen pitämistä varten. Olkoon se opiskelija.

5) Ilmoita yksityiset muuttujat fysiikka, kemia ja biologia. Tämä kertoo, että emme pääse käsiksi muuttujiin tämän Opiskelijaluokan ulkopuolella. Mutta voimme käyttää niitä paikallisesti ja muokata arvoa tarvittaessa. Arvon muuttamiseksi voimme kirjoittaa julkisen asettajatoiminnon ja käyttää sitä toisessa luokassa.

6) Kirjoita toiminto nimeltään SetMarks, jota käytetään asettamaan yksityisten muuttujien arvot. Koska emme pääse yksityisiin muuttujiin, fysiikkaan, kemiaan ja biologiaan oppituntiluokan ulkopuolella, tarvitsemme tätä toimintoa näiden arvojen asettamiseksi ulkoisesta luokasta. Tämä menetelmä on julkinen, koska meidän on käytettävä sitä luokan ulkopuolella. Tarvitsemme kolme parametria saadaksesi arvot jokaiselle aiheelle. Toiminnon sisällä asetamme yksityisten muuttujien arvot.

7) Tarvitsemme vielä yhden menetelmän saadaksesi kaikkien kolmen aiheen kokonaismerkinnät lisäämällä merkinnät. Tämä menetelmä on myös julkinen. Kutsu tätä menetelmää vain luokan ulkopuolelle, niin saamme kolmen aiheen pisteiden summan.

8) Nyt tämän luokan ulkopuolella kirjoitamme päätoiminnon.

9) Päätoiminnon sisällä pääsemme ensin luokan oppilaaseen ja luomme luokan esineen.

10) Seuraavassa vaiheessa kutsutaan toimintoon, joka asettaa kolmen kohteen merkit. Tässä siirrämme merkinnät parametreiksi toiminnolle. Alla on osa koodia tämän saavuttamiseksi.

11) Seuraavaksi saamme kokonaismerkit ja tulostamme arvon. Ja palauta lopussa 0.

12) Voitko arvata koodin ulostulon? Olet oikeassa. Lähtö näkyy alla.

Lähtö: 240

13) Nyt analysoimme kuinka saimme tämän tulosteen. Koska emme päässeet käsiksi yksityisiin muuttujiin, kirjoitimme asettajatoiminnon, joka ottaa arvoja muusta luokasta ja modifioi muuttujia. Getter-toiminto hakee muuttujat, lisää ne ja lähettää opiskelijan kokonaispisteet. Joka kerta kun lähetämme kolme eri arvoa asettajatoimintoon, voimme nähdä, että saamme kokonaismäärät myös vaihtelevat vastaavasti.

14) Tästä voidaan sanoa, että kapselointi auttaa meitä suojelemaan joitain tarvittavia tietoja. Myös setter- ja getter-toimintoja käytetään niiden arvojen muuttamiseen. Tekemällä tämän. Suoja saavutetaan myös vaarantamatta tarkoitustamme.

johtopäätös

Tässä artikkelissa olemme oppineet kuinka kapselointi voidaan saavuttaa C ++: ssa. Tekemällä tämän voimme saavuttaa seuraavat edut.

  • Kapseloinnin jälkeen luokat lisäävät luettavuutta ja vähentävät monimutkaisuutta.
  • Se auttaa suojaamaan tietoja.
  • Luokan tietojen yksityisyyttä voidaan muuttaa muuttamatta koko koodia pääsymuuntajalla.

Suositellut artikkelit

Tämä on opas kapseloinnista C ++: iin. Tässä keskustellaan siitä, kuinka kapselointia voidaan käyttää C ++: ssa, sekä esimerkkiä kapseloinnista C ++: iin vaiheiden kanssa. Voit myös katsoa seuraavia artikkeleita saadaksesi lisätietoja -

  1. Salausalgoritmi
  2. Symmetrinen avaimen salaus
  3. Mikä on salaus?
  4. Johdatus kapselointiin C: ssä
  5. Kapselointi JavaScriptiin (edut)
  6. Pääsy muokkaimet PHP