Kāda ir atšķirība starp privātajiem un aizsargātajiem C++ klašu dalībniekiem

Kada Ir Atskiriba Starp Privatajiem Un Aizsargatajiem C Klasu Dalibniekiem



C++ ir objektorientētās programmēšanas (OOP) valoda, kas nodrošina mehānismu datu un funkciju iekapsulēšanai vienā entītijā, ko sauc par klasi. Viena no klases būtiskām iezīmēm ir iespēja norādīt piekļuves līmeni tās dalībniekiem. Objektorientētā programmēšana, piekļuves specifikācijas tiek izmantoti, lai kontrolētu klases lauku un metožu redzamību un pieejamību. Aizsargāts , publiski , un Privāts piekļuves līmeņi ir trīs pamata piekļuves līmeņu veidi programmā C++.

Šajā rakstā mēs apspriedīsim atšķirību starp diviem galvenajiem piekļuves norādītājs s, Privāts un aizsargāts C++ klases dalībnieki.

Privātās piekļuves specifikators

Privātie dalībnieki tiek deklarēti, izmantojot atslēgvārdu ' Privāts ‘. The privātās piekļuves norādītājs ierobežo piekļuvi klases dalībniekiem tikai pašai klasei. Kods ārpus klases nevar piekļūt privātam dalībniekam vai mainīt to. Tas nozīmē, ka tikai klasē deklarētās metodes var piekļūt un darboties tajā privātie biedri , nevar piekļūt pat atvasinātas klases privātie biedri . Izplatīts lietojums privātie biedri ir nodrošināt pareizu klases darbību. Privātie dalībnieki tiek izmantoti, lai iekapsulētu klases datus un nodrošinātu klases lietotājiem abstrakcijas līmeni.







#include
izmantojot nosaukumvieta std ;

klasē spēlētājs {

Privāts :
virknes nosaukums ;
starpt vecums ;

publiski :
nederīgs getPlayer ( )
{
cout << 'Ievadiet vārdu:' ;
ēšana >> nosaukums ;
cout << 'Ievadiet vecumu:' ;
ēšana >> vecums ;
}
nederīgs ShowPlayer ( )
{
cout << 'Vārds:' << nosaukums << endl ;
cout << 'Vecums:' << vecums << endl ;
}
} ;

starpt galvenais ( )
{
spēlētājs pl ;
pl. getPlayer ( ) ;
pl. ShowPlayer ( ) ;

atgriezties 0 ;
}

Iepriekš minētajā kodā mēs izmantojam publiskā dalībnieku metodes getPlayer () un showPlayer() lai piekļūtu abiem Privāts biedri' nosaukums un vecums . The getPlayer () funkcija saņem ievadi no lietotājiem un parāda to ekrānā, izmantojot showPlayer() funkciju.



Izvade







Aizsargātas piekļuves specifikators

Aizsargātie dalībnieki klasei var piekļūt gan atvasinātās klases, gan pašas klases dalībnieku funkcijas. Aizsargātie dalībnieki tiek izmantoti, lai nodrošinātu piekļuves līmeni atvasinātajām klasēm, nepakļaujot ieviešanas informāciju ārpasaulei. Aizsargātie dalībnieki tiek deklarēti, izmantojot atslēgvārdu ' aizsargāts un kols (:) raksturs. Aizsargātie dalībnieki ļauj paplašināt un modificēt klasi, neapdraudot tās integritāti. Var izmantot atvasināta klase aizsargātie locekļi lai uzlabotu vai pielāgotu bāzes klases uzvedību.

Šeit ir klases piemērs ar aizsargātie locekļi :



#include
izmantojot namespace std;

klases spēlētājs {
Privāts:
virknes nosaukums;
int vecums;

aizsargāts:
int mērķi;

publiski:
tukšs getPlayer ( )
{
cout <> vārds;
cout <> vecums;
}
tukšs showPlayer ( )
{
cout << 'Vārds:' << nosaukums << endl;
cout << 'Vecums:' << vecums << endl;
}
} ;

klases spēlētājs1: publiskais spēlētājs {

Privāts:
stīgu valsts;

publiski:
spēkā neesoši noteikti_mērķi ( int g )
{
mērķi = g;
}
nederīgs getPlayer1 ( )
{
getPlayer ( ) ;
cout <> valsts;
}
tukšs showPlayer1 ( )
{
cout << 'Mērķi:' << mērķi << endl;
ShowPlayer ( ) ;
cout << 'Valsts:' << valsts << endl;
}
} ;

int galvenais ( )
{
spēlētājs1 pl;
pl.set_goals ( 101 ) ;
pl.getPlayer1 ( ) ;
pl.showPlayer1 ( ) ;

atgriezties 0 ;
}

The spēlētājs klasē ir divi privātie biedri , nosaukums un vecums , viens aizsargāts biedrs, mērķi , un Privāts dalībnieki tiek izmantoti iekšpusē publiski biedru funkcijas, getPlayer () un showPlayer() . Ir divas klases, spēlētājs un spēlētājs1 , kuras abas ir bāzes klases. Viens Privāts biedrs, valsts , un trīs publiski biedru metodes veido spēlētājs1 klasē. Set_goals() tiek izmantots, lai mainītu aizsargāto dalībnieku mērķi' vērtību. getPlayer1() aicina getPlayer () dalībnieka funkcija spēlētājs klasē, vienlaikus papildus izgūstot ievadi valstij. Līdzīgi šim, showPlayer1() aicina showPlayer() dalībnieka funkciju un izdrukā mērķi un valsts vērtības.

Izvade

Atšķirība starp privātajiem un aizsargātajiem C++ klases dalībniekiem

Šeit ir uzskaitītas dažas galvenās atšķirības starp Privāts un Aizsargāts C++ klašu dalībnieki.

1: darbības joma un funkcionalitāte

Apsverot piekļuves specifikāciju izmantošanu, ir ļoti svarīgi rūpīgi pārdomāt darbības jomu un funkcionalitāte no programmas. A privātās piekļuves norādītājs nodrošina visaugstāko drošības līmeni un novērš netīšu piekļuvi mainīgajiem lielumiem un metodēm. No otras puses, a aizsargātas piekļuves norādītājs piedāvā plašāku pieejamības un elastības klāstu, kas ir būtiski, plānojot mantot atvasinātās klases no bāzes klases.

2: piekļuves līmenis

Galvenā atšķirība starp Privāts un aizsargātie locekļi ir to nodrošinātais piekļuves līmenis. Aizsargāts locekļiem var piekļūt gan klases atvasinātās klases, gan dalībnieku funkcijas, taču Privāts dalībniekus var iegūt tikai ar klases dalībnieku funkcijām.

3: klases iekapsulēšana

Vēl viena būtiska atšķirība starp Privāts un aizsargāts locekļi ir viņu loma klases iekapsulēšanas uzturēšanā. Lai izolētu datus un nodrošinātu klases lietotājiem zināmu abstrakcijas līmeni, Privāts dalībnieki ir nodarbināti. Aizsargāts dalībnieki tiek nodarbināti, lai pārvaldītu mantojuma struktūru un nodrošinātu piekļuvi bāzes klases dalībniekiem pēc atvasinātām klasēm.

Pēdējās domas

Privāts un aizsargātie locekļi ir divi būtiski piekļuves līmeņi C++ klasē. The Privāts piekļuves specifikators padara klases dalībniekus nepieejamus visiem ārējiem lietotājiem, un tas tiek izmantots informācijas glabāšanai Privāts klases ietvaros. Turpretim a aizsargāts piekļuves specifikators ļauj piekļūt klases dalībniekiem tikai atvasinātām klasēm, tiek izmantots, lai nodrošinātu bāzes klases funkcionalitāti un ļauj veikt izmaiņas, nemainot bāzes klases uzvedību. Klases dalībnieku piekļuves līmenim ir izšķiroša nozīme klases iekapsulēšanas uzturēšanā un piekļuves līmeņa nodrošināšanā klases lietotājiem.