Uvod u Access Modifiers u C ++

Zaštita podataka već je dugo u trendu, jer je najvažniji dio svake domene. Ako ide u krivu ruku, tada ćete puno trpjeti. Za sistematično rukovanje svojim podacima nudi se objektno orijentirano programiranje karakteristično kao skrivanje podataka. Ovaj se koncept može implementirati u C ++ pomoću Access modifikatora. Riječ je o ključnim riječima koje se koriste za postavljanje pristupačnosti metoda, klasa i ostalih članova. Javni, privatni i zaštićeni poznati su pod nazivom Modifikatori pristupa ili Specifikteri pristupa u objektno orijentiranim programskim jezicima. Za sprečavanje funkcija programa da izravno pristupe unutarnjem predstavljanju klase, koristi se skrivanje podataka.

Vrste modulatora pristupa u C ++

Postoje 3 vrste modifikatora pristupa u C ++

  1. Javnost
  2. Privatna
  3. zaštićen

Pogledajmo ove modifikatore s primjerima:

1. javno

Kao što ime sugerira, dostupno svima. Svi članovi klase bit će dostupni svima nakon što ih proglasi javnim. Javnom članu može se pristupiti bilo gdje izvan klase, ali unutar programa. Članovima podataka mogu pristupiti i druge klase ako su proglašene javnim. Kako u javnom modifikatoru nema ograničenja, možemo koristiti (.) Operater točaka za direktan pristup funkcijama i podacima članova.

Kodirati:

#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;
)

Izlaz:


2. privatno

Privatni modifikator jedan je od najboljih Modifikatora pristupa u C ++. Opseg članova privatnih podataka ostaje unutar klase i zato funkcija unutar klase može pristupiti članovima klase deklariranim kao privatni. Jer to je ono što privatno znači samo vi odlučujete tko može koristiti vaše stvari (poput prijatelja) ili ne. Članovima ne možete pristupiti izravno bilo kojim predmetom ili funkcijom koja je izvan klase. Prijateljeva funkcija (kao što rekoh, može koristiti vaše stvari) može se koristiti za pristup osobnim podacima članova klase. Doći ćete do greške u sastavljanju tijekom pristupa članovima privatnih podataka s bilo kojeg mjesta izvan klase.

Kodirati:

#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;
)

Izlaz:

Korištenjem gornjeg koda, neizravno možemo pristupiti članovima privatnih podataka klase neizravno koristeći funkcije javnih članova klase neizravno.

3. zaštićen

Posljednji specifikator pristupa koji se najvažnije koristi kao Modifikator pristupa u C ++ jer je njegovo ponašanje prilično slično privatnom modifikatoru pristupa. Zaštićenim podacima ili funkcijama podataka ne može se pristupiti izravno iz drugih klasa. Funkciju prijatelja možete koristiti za pristup zaštićenim članovima jer to omogućuje ovu funkciju. Postoje određena ograničenja za zaštićeni modifikator. Članovi koji su proglašeni zaštićenima mogu se zaštititi samo do sljedeće razine te tada postaju privatni.

Kodirati:

#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;
)

Izlaz:

Iz gornjeg koda možete vidjeti da je id_protect deklariran kao zaštićen i može mu se pristupiti pomoću funkcije članova izvedene klase. To znači da možete pristupiti zaštićenom članu podataka osnovne klase pomoću funkcije članova izvedene klase.

Prednosti Modifikatora pristupa u C ++

Ispod su različite prednosti Access Modifiers u C ++:

  • Modifikator pristupa pruža vam ovlaštenje za kontrolu podataka ovisno o scenarijima. Ako radite na domeni banke, tada morate koristiti članove privatnih podataka da biste podatke čuvali skrivenim od drugih korisnika, a autoritet je u vašim rukama. Ako ih želite, možete ih učiniti javnim, ali to neće biti sjajan pristup jer u tom slučaju bilo tko može u bilo kojem trenutku promijeniti vaše podatke
  • Svi javni članovi bazne klase postaju javni članovi izvedene klase. Na isti način, svi zaštićeni pripadnici osnovne klase postaju zaštićeni članovi izvedene klase što će vam pomoći pri upravljanju podacima u svakom pogledu jer, kao što vidite, ne postoji promjena u pristupu tim članovima ako koristite javno nasljeđivanje u svom programskom jeziku,
  • U scenariju privatnog nasljeđivanja, svi javni članovi bazne klase postaju privatni članovi izvedene klase. Na isti način, svi zaštićeni pripadnici osnovne klase postaju privatni članovi izvedene klase dok, u scenariju zaštićenog nasljeđivanja, svi javni pripadnici bazne klase postaju zaštićeni članovi izvedene klase, a svi zaštićeni pripadnici osnovne klase postaju zaštićeni članovi izvedene klase. Imajte na umu da u C ++ specifikaciji pristupa djeluje na osnovi klase, a ne na osnovi objekta.

Zaključak

Nekoliko programskih jezika nema privatni i zaštićeni pristup, stoga ih svaki korisnik može koristiti na željeni način. C ++ koderi neće vjerovati korisnicima tako da ih nije dopušteno koristiti. Članovi javnih podataka mogu biti ozbiljan potencijalni rizik za bugove ili hakere.

Preporučeni članci

Ovo je vodič za pristup modifikatorima na C ++. Ovdje smo raspravljali o vrstama Modifikatora pristupa u C ++, zajedno s njegovim primjerima i nekim prednostima. Možete pogledati i sljedeće članke da biste saznali više -

  1. Pristupite modifikatorima na Javi
  2. Inkapsulacija u C ++
  3. Naredbe C ++
  4. Najbolji kompajler C ++
  5. Vrste modifikatora pristupa u C #
  6. Inkapsulacija u JavaScriptu
  7. Top 11 značajki i prednosti C ++

Kategorija: