Koja je razlika između privatnih i zaštićenih članova C++ klasa

Koja Je Razlika Izmedu Privatnih I Zasticenih Clanova C Klasa



C++ je objektno orijentirani programski jezik (OOP) koji pruža mehanizam za kapsuliranje podataka i funkcija u jednu cjelinu koja se naziva klasa. Jedna od bitnih značajki klase je mogućnost određivanja razine pristupa za svoje članove. U objektno orijentiranom programiranju, specifikatori pristupa koriste se za kontrolu vidljivosti i pristupačnosti polja i metoda klase. Zaštićen , javnost , i privatna razine pristupa su tri osnovne vrste razina pristupa u C++.

U ovom tekstu raspravljat ćemo o razlici između dva glavna specifikator pristupa s, privatna i zaštićen članovi C++ klase.

Specifikator privatnog pristupa

Privatni članovi deklariraju se pomoću ključne riječi ' privatna ‘. The specifikator privatnog pristupa ograničava pristup članovima klase samo na sam razred. Kod izvan klase ne može pristupiti privatnom članu niti ga mijenjati. To znači da samo metode deklarirane u klasi mogu pristupiti i raditi na privatni članovi , čak ni izvedene klase ne mogu pristupiti privatni članovi . Uobičajena upotreba privatni članovi je osigurati ispravan rad klase. Privatni članovi koriste se za kapsuliranje podataka klase i pružanje razine apstrakcije korisnicima klase.







#include
korištenjem imenski prostor std ;

razreda igrač {

privatna :
naziv niza ;
int dob ;

javnost :
poništiti getPlayer ( )
{
cout << 'Unesite ime: ' ;
jelo >> Ime ;
cout << 'Unesite dob: ' ;
jelo >> dob ;
}
poništiti showPlayer ( )
{
cout << 'Ime: ' << Ime << endl ;
cout << 'Dob: ' << dob << endl ;
}
} ;

int glavni ( )
{
svirač mn ;
pl. getPlayer ( ) ;
pl. showPlayer ( ) ;

povratak 0 ;
}

U gornjem kodu koristimo metode javnih članova getPlayer() i showPlayer() za pristup dvjema privatna članovi Ime i dob . The getPlayer() dobiva unos od korisnika i prikazuje ga na zaslonu putem showPlayer() funkcija.



Izlaz







Specifikator zaštićenog pristupa

Zaštićeni članovi klase mogu pristupiti i izvedene klase i funkcije članice same klase. Zaštićeni članovi koriste se za pružanje razine pristupa izvedenim klasama bez izlaganja detalja implementacije vanjskom svijetu. Zaštićeni članovi deklariraju se pomoću ključne riječi ' zaštićen 'i dvotočka (:) lik. Zaštićeni članovi dopustiti da se klasa proširi i modificira, bez ugrožavanja njezinog integriteta. Izvedena klasa može koristiti zaštićeni članovi doraditi ili prilagoditi ponašanje osnovne klase.

Evo primjera klase sa zaštićeni članovi :



#include
korištenje imenskog prostora std;

klasni igrač {
privatna:
naziv niza;
int dob;

zaštićen:
int ciljevi;

javnost:
void getPlayer ( )
{
cout <> Ime;
cout <> dob;
}
void showPlayer ( )
{
cout << 'Ime: ' << Ime << endl;
cout << 'Dob: ' << dob << endl;
}
} ;

klasa igrač1 : javni igrač {

privatna:
zemlja niza;

javnost:
void set_goals ( int g )
{
golovi = g;
}
void getPlayer1 ( )
{
getPlayer ( ) ;
cout <> zemlja;
}
void showPlayer1 ( )
{
cout << 'ciljevi: ' << ciljevi << endl;
showPlayer ( ) ;
cout << 'Država: ' << zemlja << endl;
}
} ;

int glavni ( )
{
igrač1 pl;
mn.postavi_ciljeve ( 101 ) ;
pl.getPlayer1 ( ) ;
pl.showPlayer1 ( ) ;

povratak 0 ;
}

The igrač razred se sastoji od dva privatni članovi , Ime i dob , jedan zaštićen član, ciljevi , i privatna članovi se koriste unutar javnost članske funkcije, getPlayer() i showPlayer() . Postoje dvije klase, igrač i igrač1 , a obje su osnovne klase. Jedan privatna član, zemlja , i tri javnost član metode čine igrač1 razreda. Postavi ciljeve() koristi se za promjenu zaštićenog člana ciljevi' vrijednost. getPlayer1() naziva getPlayer() članska funkcija igrač klase dok dodatno dohvaća unos za državu. Slično ovome, prikažiPlayer1() naziva showPlayer() funkciju člana i ispisuje ciljevi i zemlja vrijednosti.

Izlaz

Razlika između privatnih i zaštićenih članova C++ klasa

Ovdje su navedene neke od ključnih razlika između Privatna i Zaštićen članovi C++ klasa.

1: Opseg i funkcionalnost

Kada razmatrate korištenje specifikatera pristupa, ključno je pažljivo razmisliti o djelokrug i funkcionalnost programa. A specifikator privatnog pristupa pruža najvišu razinu sigurnosti i izbjegava nenamjeran pristup varijablama i metodama. S druge strane, a specifikator zaštićenog pristupa nudi opsežniji raspon pristupačnosti i fleksibilnosti, što je bitno kada planirate naslijediti izvedene klase od osnovne klase.

2: Razina pristupa

Glavna razlika između privatna i zaštićeni članovi je razina pristupa koju pružaju. Zaštićen članovi mogu biti dostupni i klasama izvedenim iz klase i funkcijama članicama, ali privatna Članovi se mogu dobiti samo pomoću funkcija članova klase.

3: Enkapsulacija klase

Još jedna bitna razlika između privatna i zaštićen članova je njihova uloga u održavanju enkapsulacije klase. Kako bismo izolirali podatke i pružili korisnicima klase određenu razinu apstrakcije, privatna članovi su zaposleni. Zaštićen članovi su zaposleni da upravljaju strukturom nasljeđivanja i daju pristup članovima osnovne klase od strane izvedenih klasa.

Završne misli

Privatna i zaštićeni članovi su dvije bitne razine pristupa u C++ klasi. The privatna specifikator pristupa čini članove klase nedostupnima svim vanjskim korisnicima, a koristi se za čuvanje informacija privatna unutar razreda. Nasuprot tome, a zaštićen specifikator pristupa dopušta pristup članovima klase samo izvedenim klasama, koristi se za pružanje funkcionalnosti osnovne klase i dopušta modifikaciju bez mijenjanja ponašanja osnovne klase. Razina pristupa članova klase igra ključnu ulogu u održavanju enkapsulacije klase i pružanju razine pristupa korisnicima klase.