ఈ రచనలో, మేము రెండు ప్రధానాల మధ్య వ్యత్యాసాన్ని చర్చిస్తాము యాక్సెస్ స్పెసిఫైయర్ లు, ప్రైవేట్ మరియు రక్షించబడింది C++ తరగతి సభ్యులు.
ప్రైవేట్ యాక్సెస్ స్పెసిఫైయర్
ప్రైవేట్ సభ్యులు ' అనే కీవర్డ్ ఉపయోగించి ప్రకటించబడ్డాయి ప్రైవేట్ ‘. ది ప్రైవేట్ యాక్సెస్ స్పెసిఫైయర్ తరగతి సభ్యులకు యాక్సెస్ని తరగతికి మాత్రమే పరిమితం చేస్తుంది. తరగతి వెలుపలి కోడ్ ప్రైవేట్ సభ్యుడిని యాక్సెస్ చేయదు లేదా మార్చదు. అంటే క్లాస్లో డిక్లేర్ చేయబడిన పద్ధతులు మాత్రమే యాక్సెస్ చేయగలవు మరియు ఆపరేట్ చేయగలవు ప్రైవేట్ సభ్యులు , ఉత్పన్నమైన తరగతులను కూడా యాక్సెస్ చేయలేరు ప్రైవేట్ సభ్యులు . యొక్క సాధారణ ఉపయోగం ప్రైవేట్ సభ్యులు తరగతి యొక్క సరైన కార్యాచరణను నిర్ధారించడం. ప్రైవేట్ సభ్యులు క్లాస్ డేటాను ఎన్క్యాప్సులేట్ చేయడానికి మరియు తరగతి వినియోగదారులకు సంగ్రహణ స్థాయిని అందించడానికి ఉపయోగించబడతాయి.
#
ఉపయోగించి నేమ్స్పేస్ std ;
తరగతి ఆటగాడు {
ప్రైవేట్ :
స్ట్రింగ్ పేరు ;
int వయస్సు ;
ప్రజా :
శూన్యం గెట్ ప్లేయర్ ( )
{
కోట్ << 'పేరు నమోదు చేయండి: ' ;
ఆహారపు >> పేరు ;
కోట్ << 'వయస్సును నమోదు చేయండి:' ;
ఆహారపు >> వయస్సు ;
}
శూన్యం షో ప్లేయర్ ( )
{
కోట్ << 'పేరు:' << పేరు << endl ;
కోట్ << 'వయస్సు:' << వయస్సు << endl ;
}
} ;
int ప్రధాన ( )
{
ప్లేయర్ pl ;
pl. గెట్ ప్లేయర్ ( ) ;
pl. షో ప్లేయర్ ( ) ;
తిరిగి 0 ;
}
ఎగువ కోడ్లో, మేము పబ్లిక్ మెంబర్ పద్ధతులను ఉపయోగిస్తాము getPlayer() మరియు షో ప్లేయర్() రెండింటిని యాక్సెస్ చేయడానికి ప్రైవేట్ సభ్యులు' పేరు మరియు వయస్సు . ది getPlayer() ఫంక్షన్ వినియోగదారుల నుండి ఇన్పుట్ను పొందుతుంది మరియు దాని ద్వారా స్క్రీన్పై ప్రదర్శిస్తుంది షో ప్లేయర్() ఫంక్షన్.
అవుట్పుట్
రక్షిత యాక్సెస్ స్పెసిఫైయర్
రక్షిత సభ్యులు తరగతి యొక్క ఉత్పన్నమైన తరగతులు మరియు తరగతి యొక్క సభ్యుల విధులు రెండింటి ద్వారా యాక్సెస్ చేయవచ్చు. రక్షిత సభ్యులు అమలు వివరాలను బయటి ప్రపంచానికి బహిర్గతం చేయకుండా ఉత్పన్నమైన తరగతులకు యాక్సెస్ స్థాయిని అందించడానికి ఉపయోగించబడతాయి. రక్షిత సభ్యులు ' అనే కీవర్డ్ ఉపయోగించి ప్రకటించబడ్డాయి రక్షించబడింది ' ఇంకా పెద్దప్రేగు (:) పాత్ర. రక్షిత సభ్యులు దాని సమగ్రతను రాజీ పడకుండా, ఒక తరగతిని విస్తరించడానికి మరియు సవరించడానికి అనుమతించండి. ఉత్పన్నమైన తరగతి ఉపయోగించవచ్చు రక్షిత సభ్యులు బేస్ క్లాస్ ప్రవర్తనను మెరుగుపరచడానికి లేదా అనుకూలీకరించడానికి.
తో తరగతికి ఉదాహరణ ఇక్కడ ఉంది రక్షిత సభ్యులు :
#
నేమ్స్పేస్ stdని ఉపయోగించడం;
తరగతి ఆటగాడు {
ప్రైవేట్:
స్ట్రింగ్ పేరు;
పూర్ణాంక వయస్సు;
రక్షిత:
పూర్ణాంక లక్ష్యాలు;
ప్రజా:
getPlayer శూన్యం ( )
{
కోట్ <> పేరు;
కోట్ <> వయస్సు;
}
శూన్యమైన షో ప్లేయర్ ( )
{
కోట్ << 'పేరు:' << పేరు << endl;
కోట్ << 'వయస్సు:' << వయస్సు << endl;
}
} ;
క్లాస్ ప్లేయర్1: పబ్లిక్ ప్లేయర్ {
ప్రైవేట్:
స్ట్రింగ్ కంట్రీ;
ప్రజా:
శూన్యమైన సెట్_గోల్స్ ( int g )
{
లక్ష్యాలు = g;
}
శూన్యం getPlayer1 ( )
{
గెట్ ప్లేయర్ ( ) ;
కోట్ <> దేశం;
}
శూన్యమైన showPlayer1 ( )
{
కోట్ << 'లక్ష్యాలు:' << లక్ష్యాలు << endl;
షో ప్లేయర్ ( ) ;
కోట్ << 'దేశం:' << దేశం << endl;
}
} ;
పూర్ణాంక ప్రధాన ( )
{
ప్లేయర్1 pl;
pl.set_goals ( 101 ) ;
pl.getPlayer1 ( ) ;
pl.showPlayer1 ( ) ;
తిరిగి 0 ;
}
ది ఆటగాడు తరగతి రెండు కలిగి ఉంటుంది ప్రైవేట్ సభ్యులు , పేరు మరియు వయస్సు , ఒకటి రక్షించబడింది సభ్యుడు, లక్ష్యాలు , మరియు ప్రైవేట్ సభ్యులు లోపల ఉపయోగించబడతారు ప్రజా సభ్యుల విధులు, getPlayer() మరియు షో ప్లేయర్() . రెండు తరగతులు ఉన్నాయి, ఆటగాడు మరియు ఆటగాడు 1 , రెండూ బేస్ క్లాస్లు. ఒకటి ప్రైవేట్ సభ్యుడు, దేశం , మరియు మూడు ప్రజా సభ్యుల పద్ధతులు తయారు చేస్తారు ఆటగాడు 1 తరగతి. లక్ష్యాలు పెట్టుకోండి() రక్షిత సభ్యుడిని మార్చడానికి ఉపయోగించబడుతుంది లక్ష్యాలు' విలువ. getPlayer1() అని పిలుస్తుంది getPlayer() యొక్క సభ్యుడు ఫంక్షన్ ఆటగాడు దేశం కోసం ఇన్పుట్ను అదనంగా తిరిగి పొందుతున్నప్పుడు తరగతి. దీని మాదిరిగానే, షో ప్లేయర్1() అని పిలుస్తుంది షో ప్లేయర్() సభ్యుడు ఫంక్షన్ మరియు ప్రింట్ ది లక్ష్యాలు మరియు దేశం విలువలు.
అవుట్పుట్
C++ తరగతుల ప్రైవేట్ మరియు రక్షిత సభ్యుల మధ్య వ్యత్యాసం
మధ్య కొన్ని ముఖ్యమైన తేడాలు ఇక్కడ జాబితా చేయబడ్డాయి ప్రైవేట్ మరియు రక్షించబడింది C++ తరగతుల సభ్యులు.
1: స్కోప్ మరియు ఫంక్షనాలిటీ
యాక్సెస్ స్పెసిఫైయర్ల వినియోగాన్ని పరిగణనలోకి తీసుకున్నప్పుడు, దాని గురించి జాగ్రత్తగా ఆలోచించడం చాలా ముఖ్యం పరిధిని మరియు కార్యాచరణ కార్యక్రమం యొక్క. ఎ ప్రైవేట్ యాక్సెస్ స్పెసిఫైయర్ అత్యున్నత స్థాయి భద్రతను అందిస్తుంది మరియు వేరియబుల్స్ మరియు పద్ధతులకు అనాలోచిత యాక్సెస్ను నివారిస్తుంది. మరోవైపు, ఎ రక్షిత యాక్సెస్ స్పెసిఫైయర్ మరింత విస్తృతమైన యాక్సెసిబిలిటీ మరియు ఫ్లెక్సిబిలిటీని అందిస్తుంది, ఇది బేస్ క్లాస్ నుండి ఉత్పన్నమైన తరగతులను పొందేందుకు ప్లాన్ చేస్తున్నప్పుడు అవసరం.
2: యాక్సెస్ స్థాయి
మధ్య ప్రధాన వ్యత్యాసం ప్రైవేట్ మరియు రక్షిత సభ్యులు వారు అందించే యాక్సెస్ స్థాయి. రక్షించబడింది క్లాస్ యొక్క ఉత్పన్నమైన తరగతులు మరియు సభ్యుల విధులు రెండింటి ద్వారా సభ్యులను యాక్సెస్ చేయవచ్చు, కానీ ప్రైవేట్ సభ్యులను తరగతి సభ్యుల విధుల ద్వారా మాత్రమే పొందవచ్చు.
3: క్లాస్ ఎన్క్యాప్సులేషన్
మధ్య మరొక కీలకమైన వ్యత్యాసం ప్రైవేట్ మరియు రక్షించబడింది తరగతి ఎన్క్యాప్సులేషన్ను నిర్వహించడంలో సభ్యులు వారి పాత్ర. డేటాను వేరుచేయడానికి మరియు తరగతి వినియోగదారులకు కొంత స్థాయి సంగ్రహణను అందించడానికి, ప్రైవేట్ సభ్యులు పనిచేస్తున్నారు. రక్షించబడింది వారసత్వ నిర్మాణాన్ని నిర్వహించడానికి మరియు ఉత్పన్నమైన తరగతుల ద్వారా బేస్ క్లాస్ సభ్యులకు ప్రాప్యతను అందించడానికి సభ్యులు నియమించబడ్డారు.
తుది ఆలోచనలు
ప్రైవేట్ మరియు రక్షిత సభ్యులు C++ తరగతిలో రెండు ముఖ్యమైన యాక్సెస్ స్థాయిలు. ది ప్రైవేట్ యాక్సెస్ స్పెసిఫైయర్ తరగతి సభ్యులను బాహ్య వినియోగదారులందరికీ అందుబాటులో లేకుండా చేస్తుంది మరియు ఇది సమాచారాన్ని ఉంచడానికి ఉపయోగించబడుతుంది ప్రైవేట్ తరగతి లోపల. దీనికి విరుద్ధంగా, ఎ రక్షించబడింది యాక్సెస్ స్పెసిఫైయర్ ఉత్పన్నమైన తరగతుల ద్వారా మాత్రమే తరగతి సభ్యులకు యాక్సెస్ని అనుమతిస్తుంది, బేస్ క్లాస్ కార్యాచరణను అందించడానికి ఉపయోగించబడుతుంది మరియు బేస్ క్లాస్ ప్రవర్తనను మార్చకుండా సవరణను అనుమతిస్తుంది. తరగతి సభ్యుల యాక్సెస్ స్థాయి తరగతి యొక్క ఎన్క్యాప్సులేషన్ను నిర్వహించడంలో మరియు తరగతి వినియోగదారులకు యాక్సెస్ స్థాయిని అందించడంలో కీలక పాత్ర పోషిస్తుంది.