Úvod do modifikátorov prístupu v C ++

Ochrana údajov má dlhodobý trend, pretože je najdôležitejšou súčasťou každej domény. Ak pôjde v nesprávnej ruke, budete veľa trpieť. So systematickým spracovaním vašich údajov objektovo orientované programovanie ponúka vynikajúcu funkciu známu ako skrytie údajov. Tento koncept možno implementovať v C ++ pomocou modifikátorov prístupu. Sú to kľúčové slová, ktoré sa používajú na nastavenie prístupnosti metód, tried a ďalších členov. Verejný, súkromný a chránený je známy ako modifikátory prístupu alebo špecifikátory prístupu v objektovo orientovaných programovacích jazykoch. Na zamedzenie priameho prístupu funkcií programu k internej reprezentácii triedy sa používa skrývanie údajov.

Typy modifikátorov prístupu v C ++

V C ++ sú 3 typy modifikátorov prístupu

  1. verejnosť
  2. Súkromné
  3. chránený

Pozrime sa na tieto modifikátory s príkladmi:

1. Verejné

Ako už názov napovedá, je k dispozícii všetkým. Všetci členovia triedy budú k dispozícii všetkým po ich vyhlásení za verejné. Verejný člen je prístupný kdekoľvek mimo triedy, ale v rámci programu. K údajovým členom môžu mať prístup aj iné triedy, ak sú vyhlásené za verejné. Pretože vo verejnom modifikátore nie sú žiadne obmedzenia, môžeme použiť bodový operátor (.) Na priamy prístup k členským funkciám a údajom.

kód:

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

Výkon:


2. Súkromné

Súkromný modifikátor je jedným z najlepších modifikátorov prístupu v C ++. Rozsah členov súkromných údajov zostáva vo vnútri triedy, a preto funkcia vo vnútri triedy môže pristupovať k členom triedy vyhláseným za súkromné. Pretože to, čo súkromné ​​znamená, len vy sa rozhodnete, kto môže alebo nemá používať vaše veci (napríklad priateľa). K členom nemáte priamy prístup pomocou akéhokoľvek objektu alebo funkcie, ktorá je mimo triedy. Funkcia priateľa (ako som už povedal, môže používať vaše veci) sa môže použiť na prístup k členom súkromných údajov triedy. Pri prístupe k členom súkromných údajov odkiaľkoľvek mimo triedy sa zobrazí chyba pri kompilácii.

kód:

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

Výkon:

Použitím vyššie uvedeného kódu získame nepriamy prístup k členom súkromných údajov triedy pomocou nepriamych funkcií verejných členov triedy.

3. Chránené

Posledný špecifikátor prístupu, ktorý sa najdôležitejšie používa ako modifikátory prístupu v C ++, pretože jeho správanie je dosť podobné modifikátoru súkromného prístupu. K chráneným údajovým členom alebo funkciám nemožno pristupovať priamo z iných tried. Pomocou funkcie priateľa môžete získať prístup k chráneným členom, pretože to umožňuje túto funkciu. Chránený modifikátor má určité obmedzenia. Členovia vyhlásení za chránených môžu byť chránení len do ďalšej úrovne, potom sa stanú súkromnými.

kód:

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

Výkon:

Z vyššie uvedeného kódu môžete vidieť, že id_protect je vyhlásený za chránený a je k nemu možné pristupovať pomocou členskej funkcie odvodenej triedy. To znamená, že môžete získať prístup k chránenému údajovému členu základnej triedy pomocou funkcie člena odvodenej triedy.

Výhody modifikátorov prístupu v C ++

Nižšie sú uvedené rôzne výhody modifikátorov prístupu v C ++:

  • Modifikátor prístupu vám poskytuje oprávnenie na kontrolu vašich údajov v závislosti od scenárov. Ak pracujete v bankovej doméne, musíte používať členov súkromných údajov na ochranu vašich údajov pred ostatnými používateľmi, oprávnenie je vo vašej ruke. Ak chcete, môžete ich zverejniť, ale nebude to skvelý prístup, pretože v takom prípade môže kedykoľvek zmeniť svoje údaje ktokoľvek.
  • Všetci verejní členovia základnej triedy sa stanú verejnými členmi odvodenej triedy. Rovnakým spôsobom sa každý chránený člen základnej triedy stane chráneným členom odvodenej triedy, ktorý vám pomôže v ľahkej správe údajov vo všetkých aspektoch, pretože ako vidíte, nedochádza k žiadnym zmenám v prístupe k týmto členom, ak používate verejnú dedičnosť v programovacom jazyku.,
  • V scenári súkromného dedičstva sa každý verejný člen základnej triedy stane súkromným členom odvodenej triedy. Rovnakým spôsobom sa každý chránený člen základnej triedy stane súkromným členom odvodenej triedy, zatiaľ čo v scenári chráneného dedičstva sa každý verejný člen základnej triedy stane chráneným členom odvodenej triedy a všetok chránený člen základnej triedy sa stane chráneným členom odvodenej triedy. Všimnite si, že v C ++ špecifikácia prístupu funguje na základe jednotlivých tried, nie na základe jednotlivých objektov.

záver

Niekoľko programovacích jazykov nemá súkromný a chránený prístup, preto ho môže použiť ľubovoľný používateľ tak, ako chce. C ++ kodéry neveria používateľom, takže ich nemôžu používať. Členovia verejných údajov môžu predstavovať vážne potenciálne riziko pre chyby alebo hackerov.

Odporúčané články

Toto je sprievodca modifikátormi prístupu v C ++. Tu diskutujeme typy modifikátorov prístupu v C ++ spolu s ich príkladmi a niektorými výhodami. Viac informácií nájdete aj v nasledujúcich článkoch

  1. Prístup k modifikátorom v jazyku Java
  2. Zapuzdrenie v C ++
  3. Príkazy C ++
  4. Najlepšie kompilátor C ++
  5. Typy modifikátorov prístupu v jazyku C #
  6. Zapuzdrenie do JavaScriptu
  7. Prvých 11 funkcií a výhod C ++

Kategórie: