C++ ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్లో, ఎన్క్యాప్సులేషన్ అనేది డేటాను డిఫైన్ చేసిన క్లాస్లో ప్రైవేట్ అట్రిబ్యూట్ కింద ప్రకటించడం ద్వారా దాచే టెక్నిక్. సభ్యుల ప్రైవేట్ డేటా తరగతి వెలుపల నుండి యాక్సెస్ చేయబడదు.
C++లో గెట్టర్ ఫంక్షన్లు అంటే ఏమిటి?
ఎన్క్యాప్సులేషన్ సమయంలో C++లోని ప్రైవేట్ డేటా మెంబర్లను సవరణ కోసం యాక్సెస్ చేయవలసి వచ్చినప్పుడు, గెటర్ ఫంక్షన్లను గెటర్ ఫంక్షన్లు అంటారు మరియు C++లో ప్రైవేట్ వేరియబుల్స్ విలువను పొందేందుకు గెటర్ ఫంక్షన్లు ఉపయోగించబడతాయి. గెట్టర్ ఫంక్షన్ని ఉపయోగించడం వల్ల కోడ్ రీడబిలిటీ సులభం అవుతుంది మరియు డేటా రక్షణను అనుమతిస్తుంది, ఇది తరగతిలోని సంబంధిత సభ్యులకు మాత్రమే అందుబాటులో ఉంటుంది.
ఉదాహరణ 1
ఈ కోడ్ C++లో గెటర్() ఫంక్షన్ వినియోగాన్ని వివరిస్తుంది:
#
ఉపయోగించి నేమ్స్పేస్ std ;
తరగతి అంశం {
ప్రైవేట్ :
int ధర ;
ప్రజా :
అంశం ( int p ) {
ధర = p ;
}
int ధర పొందండి ( ) {
తిరిగి ధర ;
}
} ;
int ప్రధాన ( ) {
వస్తువు వాలెట్ ( ఇరవై ) ;
కోట్ << 'వాలెట్ ధర $' << వాలెట్. ధర పొందండి ( ) ;
తిరిగి 0 ;
}
ఈ సోర్స్ కోడ్లో, ఐటెమ్ క్లాస్ నిర్వచించబడింది మరియు పూర్ణాంక ధర దాని ప్రైవేట్ డేటా మెంబర్గా ప్రకటించబడుతుంది. getPrice() ఫంక్షన్ ధర యొక్క విలువను తిరిగి పొందడానికి ఉపయోగించబడుతుంది, ఎందుకంటే ప్రైవేట్ మెంబర్గా ఉండటం get() ఫంక్షన్ని ఉపయోగించకుండా తరగతి వెలుపల యాక్సెస్ చేయబడదు. ప్రధాన ఫంక్షన్లో, విలువను తిరిగి ఇవ్వడానికి ఆబ్జెక్ట్పై getPrice() ఫంక్షన్ అంటారు.
$20గా ముద్రించబడిన get() ఫంక్షన్ని ఉపయోగించడం ద్వారా వాలెట్ ధర పొందబడుతుంది.
ఉదాహరణ 2
ఈ ఉదాహరణ C++లో get() ఫంక్షన్ని ఉపయోగించి సర్కిల్ యొక్క వైశాల్యం యొక్క గణనను వివరిస్తుంది:
#
ఉపయోగించి నేమ్స్పేస్ std ;
తరగతి వృత్తం {
ప్రైవేట్ :
తేలుతుంది ప్రాంతం ;
తేలుతుంది వ్యాసార్థం ;
ప్రజా :
శూన్యం getRadius ( )
{
కోట్ << 'సర్కిల్ యొక్క వ్యాసార్థాన్ని నమోదు చేయండి:' ;
ఆహారపు >> వ్యాసార్థం ;
}
శూన్యం కనుగొనే ప్రాంతం ( )
{
ప్రాంతం = 3.14 * వ్యాసార్థం * వ్యాసార్థం ;
కోట్ << 'వృత్తం యొక్క ప్రాంతం =' << ప్రాంతం ;
}
} ;
int ప్రధాన ( )
{
సర్కిల్ సర్కిల్ ;
సర్. getRadius ( ) ;
సర్. కనుగొనే ప్రాంతం ( ) ;
}
ఈ సోర్స్ కోడ్లో, సర్కిల్ క్లాస్ నిర్వచించబడింది మరియు సర్కిల్ యొక్క పారామితులు ప్రైవేట్ సభ్యులుగా నిర్వచించబడ్డాయి. ఈ సర్కిల్ యొక్క ప్రాంతాన్ని కనుగొనడానికి, ఈ సభ్యులు get() ఫంక్షన్ని ఉపయోగించి యాక్సెస్ చేయబడతారు:
ముగింపు
సున్నితమైన డేటాతో వ్యవహరించేటప్పుడు, డేటా ఎన్క్యాప్సులేషన్ టెక్నిక్ C++లో ఉపయోగించబడుతుంది. ప్రైవేట్ అట్రిబ్యూట్ కింద డిక్లేర్ చేయబడిన క్లాస్ సభ్యులను క్లాస్ వెలుపల యాక్సెస్ చేయలేరు మరియు అందువల్ల భద్రపరచబడతారు, ఎన్క్యాప్సులేషన్ సమయంలో ప్రైవేట్ డేటా సభ్యులను సవరణ కోసం యాక్సెస్ చేయవలసి వచ్చినప్పుడు, గెటర్ ఫంక్షన్లు అంటారు. సవరణల కోసం ప్రైవేట్ వేరియబుల్స్ విలువను పొందేందుకు C++లోని గెటర్ ఫంక్షన్లు ఉపయోగించబడతాయి.