Johdanto käyttöoikeuksien muuntajiin C ++: ssa

Tietojen suojaaminen on ollut pitkään trendissä, koska se on jokaisen verkkotunnuksen tärkein osa. Jos menee väärään käsiin, kärsit paljon. Tietojen käsittelemiseksi systemaattisesti olio-ohjelmointi tarjoaa houkuttelevan ominaisuuden, joka tunnetaan nimellä Data piilottaminen. Tämä konsepti voidaan toteuttaa C ++: ssa käyttämällä Access-muokkaimia. Ne ovat avainsanoja, joilla määritetään menetelmien, luokkien ja muiden jäsenten saavutettavuus. Julkinen, yksityinen ja suojattu tunnetaan pääsymuokkajina tai käyttöoikeuksien määrittäjinä olio-ohjelmointikielissä. Tietojen piilottamista käytetään estämään ohjelman toimintojen pääsy suoraan luokan sisäiseen esitykseen.

C ++ -käyttömuuntajatyypit

C ++: ssa on 3 tyyppisiä pääsymuuntajat

  1. Julkinen
  2. yksityinen
  3. suojattu

Katsotaanpa näitä modifikaattoreita esimerkiksi:

1. Julkinen

Kuten nimestä voi päätellä, kaikkien saatavissa. Kaikki luokan jäsenet ovat kaikkien saatavilla, kun he ovat julistaneet julkisiksi. Julkiseen jäseneseen pääsee missä tahansa luokan ulkopuolella, mutta ohjelman sisällä. Tietojen jäseniin pääsee myös muihin luokkiin, jos ne julistetaan julkisiksi. Koska julkisessa modifikaattorissa ei ole rajoituksia, voimme käyttää (.) Pisteoperaattoria pääsyyn jäsentoimintoihin ja tietoihin suoraan.

Koodi:

#include
using namespace std;
class parent
(
private:
int p;
protected:
int q;
public:
int r;
parent() //constructor to initialize data members
(
p = 100;
q = 200;
r = 300;
)
);
//Inheritance concept
class child: public parent
(
//q becomes protected and r becomes public members of class child
public:
void showdata()
(
cout << "p is not accessible" << endl;
cout << "value of q is " << q << endl;
cout << "value of r is " << r << endl;
)
);
int main()
(
child c; //object of derived class(child)
c.showdata();
//cp = 100; invalid : private member, no access
//cq = 200; invalid : q is now private member of child class
//cr = 300; invalid : r is also now a private member of child class
return 0;
)

lähtö:


2. Yksityinen

Yksityinen muokkain on yksi C ++ -sovelluksen parhaista käyttöoikeuksien muuntajista. Yksityisten tietojen jäsenten laajuus pysyy luokan sisällä, minkä vuoksi luokan sisällä oleva toiminto pääsee yksityisiksi luokiteltuihin luokan jäseniin. Koska se on mitä yksityinen tarkoittaa, että vain sinä päätät, kuka voi käyttää asioita (kuten ystävä) tai ei. Et voi käyttää jäseniä suoraan millään luokan ulkopuolella olevalla objektilla tai toiminnolla. Ystäväsi toimintoa (kuten sanoin, että voit käyttää asioita) voidaan käyttää luokan yksityisten jäsenten käyttämiseen. Saat käännösajan virheen, kun käytät yksityisiä tietojen jäseniä mistä tahansa luokan ulkopuolelta.

Koodi:

#include
using namespace std;
// Defining class
class Circle
( // private data member
private:
double radius;
// public member function
public:
void areaOfCircle(double r)
( // member function can access private
// data member radius
radius = r;
double area = 3.14*radius*radius;
cout << "Radius is: " << radius << endl;
cout << "Area is: " << area;
) );
// Main function
int main()
( // creating class object
Circle c;
/* trying to access private data member
directly outside the class */
c.areaOfCircle(4.5);
return 0;
)

lähtö:

Yllä olevaa koodia käyttämällä pääsemme luokan yksityisiin tietoihin välillisesti käyttämällä luokan julkisia jäsentoimintoja epäsuorasti.

3. Suojattu

Viimeinen käyttöoikeusmäärittely, jota käytetään tärkeimmin käyttöoikeuksien muuntajina C ++: ssa, koska sen käyttäytyminen on melko samanlainen kuin yksityisen käyttöoikeuden muokkaimen. Suojattuihin datajäseniin tai toimintoihin ei voida päästä suoraan muista luokista. Voit käyttää ystävätoimintoa käyttääksesi suojattuja jäseniä, koska se sallii tämän toiminnon. Suojattuun muokkaimeen on joitain rajoituksia. Suojatuiksi ilmoitetut jäsenet voidaan suojata vain seuraavalle tasolle asti, jolloin niistä tulee yksityisiä.

Koodi:

#include
using namespace std;
// Base class
class Parent
( // Protected data members
protected:
int id_protect;
);
// Derived class
class Child : public Parent
( public:
void set(int id)
( /* Child class to access the inherited protected data
members of the Base class */
id_protect = id;
)
void display() (
cout << "id_protect is: " << id_protect << endl;
)
);
// Main function
int main() (
Child p;
/* member function(derived class) can easily
access the data members(protected) of the base class */
p.set(07);
p.display();
return 0;
)

lähtö:

Yllä olevasta koodista näet, että id_protect julistetaan suojatuksi ja siihen voidaan päästä johdetun luokan jäsentoiminnolla. Tämä tarkoittaa, että pääset kantaluokan suojattuun datajäseneen johdetun luokan jäsentoiminnolla.

Käyttöoikeuksien muuntajien edut C ++: ssa

Seuraavassa on C ++: n käyttöoikeuksien muuntajien eri edut:

  • Pääsymuokkain antaa sinulle valtuudet hallita tietojasi skenaarioiden mukaan. Jos työskentelet pankkialueella, sinun on käytettävä yksityisiä tietojen jäseniä pitämään tietosi piilossa muilta käyttäjiltä, ​​auktoriteetti on kädessäsi. Voit julkistaa ne, jos haluat, mutta se ei ole loistava lähestymistapa, koska tällöin kuka tahansa voi muuttaa tietojasi milloin tahansa
  • Kaikista perusluokan julkisista jäsenistä tulee johdetun luokan julkisia jäseniä. Samalla tavalla kaikista perusluokan suojatuista jäsenistä tulee johdetun luokan suojattuja jäseniä, jotka auttavat sinua hallitsemaan tietoja helposti kaikilla näkökohdilla, koska kuten näet, näiden jäsenten käyttö ei muutu, jos käytät julkista perintöä ohjelmointikielelläsi .
  • Yksityisperintöskenaariossa kaikista perusluokan julkisista jäsenistä tulee johdetun luokan yksityisiä jäseniä. Samalla tavalla kaikista perusluokan suojatuista jäsenistä tulee johdetun luokan yksityisiä jäseniä, kun taas suojatun perimisen skenaariossa kaikista perusluokan julkisista jäsenistä tulee johdetun luokan suojattuja jäseniä ja kaikista perusluokan suojatuista jäsenistä tulee johdetun luokan suojattuja jäseniä. Huomaa, että C ++ -käyttömääritys toimii luokkakohtaisesti, ei objektikohtaisesti.

johtopäätös

Useilla ohjelmointikieleillä ei ole yksityistä ja suojattua pääsyä, joten kuka tahansa käyttäjä voi käyttää sitä haluamallaan tavalla. C ++ -kooderit eivät luota käyttäjiin, joten heidän ei saa käyttää sitä. Julkisten tietojen jäseninä voi olla vakava mahdollinen riski virheille tai hakkereille.

Suositellut artikkelit

Tämä on opas Access Modifiers -sovelluksesta C ++: ssa. Tässä keskustellaan C ++: n Access Modifiers -tyypeistä yhdessä sen esimerkkien ja joidenkin etujen kanssa. Voit myös katsoa seuraavia artikkeleita saadaksesi lisätietoja-

  1. Käytä Java-muokkaajia
  2. Kapselointi C ++: een
  3. C ++ -komennot
  4. Paras C ++ -kääntäjä
  5. Tyypit käyttömuuntajat C #: ssä
  6. Kapselointi JavaScriptiin
  7. C ++: n 11 tärkeintä ominaisuutta ja hyötyä