Tässä opetusohjelmassa opitaan C ++ -luokkien käyttömuokkaajista esimerkkien avulla. C ++: n käyttömuokkaajat ovat julkisia, yksityisiä ja suojattuja.
Yksi olio-ohjelmointikielien, kuten C ++, pääominaisuuksista on tietojen piilottaminen .
Tietojen piilottaminen tarkoittaa luokan tietojen jäsenten pääsyn rajoittamista. Tämä estää muita toimintoja ja luokkia käsittelemästä luokkatietoja.
On kuitenkin myös tärkeää, että jotkut jäsenfunktiot ja jäsendata ovat saatavilla, jotta piilotettuja tietoja voidaan käsitellä epäsuorasti.
C ++: n käyttömuokkaajien avulla voimme määrittää, mitkä luokan jäsenet ovat muiden luokkien ja toimintojen käytettävissä ja mitkä eivät.
Esimerkiksi,
class Patient ( private: int patientNumber; string diagnosis; public: void billing() ( // code ) void makeAppointment() ( // code ) );
Tällöin Patient
luokan muuttujat potilaiden lukumäärä ja diagnoosi piilotetaan private
avainsanalla, kun taas jäsenfunktiot ovat käytettävissä public
avainsanalla.
C ++ -käyttömuuntimien tyypit
C ++: ssa on 3 pääsymuuttujaa:
public
private
protected
julkisen pääsyn muokkaaja
public
Avainsanaa käytetään luoda yleistä jäsenille (tiedot ja toiminnot).- Yleisön jäsenet ovat käytettävissä mistä tahansa ohjelman osasta.
Esimerkki 1: C ++ public Access Modifier
#include using namespace std; // define a class class Sample ( // public elements public: int age; void displayAge() ( cout << "Age = " << age << endl; ) ); int main() ( // declare a class object Sample obj1; cout <> obj1.age; // call class function obj1.displayAge(); return 0; )
Tuotos:
Anna ikäsi: 20 Ikä = 20
Tässä ohjelmassa olemme luoneet luokan nimeltä nimeltä Sample
, joka sisältää public
vaihtelevan iän ja public
funktion displayAge()
.
Sisään main()
olemme luoneet objektin, jonka Sample
nimi on obj1. Sitten pääsemme julkisiin elementteihin suoraan käyttämällä koodeja obj.age
ja obj.displayAge()
.
yksityinen pääsynmuokkaaja
private
Avainsanaa käytetään luomaan yksityiset jäsenet (tiedot ja toiminnot).- Yksityisiin jäseniin pääsee vain luokan sisällä.
- Ystäväluokat ja ystävätoiminnot voivat kuitenkin käyttää yksityisiä jäseniä.
Esimerkki 2: C ++ private Access Specifier
#include using namespace std; // define a class class Sample ( // private elements private: int age; // public elements public: void displayAge(int a) ( age = a; cout << "Age = " << age << endl; ) ); int main() ( int ageInput; // declare an object Sample obj1; cout <> ageInput; // call function and pass ageInput as argument obj1.displayAge(ageInput); return 0; )
Tuotos:
Anna ikäsi: 20 Ikä = 20
Kohdassa main()
obj1 ei voida suoraan käyttää luokan muuttujan ikää.
// error cin>> obj1.age;
Voimme manipuloida ikää vain epäsuorasti julkisen toiminnon kautta displayAge()
, koska tämä funktio määrittää iän siihen välitetylle argumentille eli funktioparametrille int a
.
suojattu Access Modifier
Ennen kuin opimme protected
käyttötarkennuksesta, varmista, että tiedät perinnöstä C ++: ssa.
protected
Avainsanaa käytetään luomaan suojattuja jäsenille (data ja toiminta).- Suojattuihin jäseniin pääsee luokan sisällä ja johdetusta luokasta.
Esimerkki 3: C ++ - suojattu pääsyn määrittelijä
#include using namespace std; // declare parent class class Sample ( // protected elements protected: int age; ); // declare child class class SampleChild : public Sample ( public: void displayAge(int a) ( age = a; cout << "Age = " << age << endl; ) ); int main() ( int ageInput; // declare object of child class SampleChild child; cout <> ageInput; // call child class function // pass ageInput as argument child.displayAge(ageInput); return 0; )
Tuotos:
Anna ikäsi: 20 Ikä = 20
Tässä ChildSample
on peritty luokka, joka on johdettu Sample
. Muuttuja ikä on ilmoitettu Sample
kanssa protected
avainsanan.
Tämä tarkoittaa, että hän ChildSample
voi käyttää ikää, koska se Sample
on sen vanhempaluokka.
Näemme tämän, kun olemme määrittäneet iän arvon, ChildSample
vaikka ikä on ilmoitettu Sample
luokassa.
Yhteenveto: julkinen, yksityinen ja suojattu
public
elementteihin pääsee kaikista muista luokista ja toiminnoista.private
elementtejä ei voida käyttää luokan ulkopuolella, johon ne on ilmoitettu, paitsifriend
luokkien ja toimintojen mukaan.protected
elementit ovat aivan kutenprivate
, paitsi että niihin pääsee johdetuilla luokilla.
Määrittimet | Sama luokka | Johdettu luokka | Luokan ulkopuolella |
---|---|---|---|
public | Joo | Joo | Joo |
private | Joo | Ei | Ei |
protected | Joo | Joo | Ei |
Huomaa: Oletusarvon mukaan luokan C ++ luokan jäsenet ovat private
, ellei toisin mainita.