సి ++ లో ఆబ్జెక్ట్ ఓరియెంటెడ్ ప్రోగ్రామింగ్ గురించి మీరు తెలుసుకోవలసిన ప్రతిదీ



ఈ వ్యాసం మీకు C ++ లో ఆబ్జెక్ట్ ఓరియెంటెడ్ ప్రోగ్రామింగ్ అనే ఇరెరెస్టింగ్ ప్రోగ్రామింగ్ విధానానికి లోతైన పరిచయం ఇస్తుంది.

అది కనిపించినప్పుడు ఖచ్చితంగా ప్రోగ్రామింగ్ ప్రపంచాన్ని తుఫానుగా తీసుకుంది మరియు ప్రోగ్రామింగ్‌కు పెద్ద ఎత్తున ఆధారాన్ని ఏర్పరుస్తుంది. ఈ వ్యాసంలో మేము C ++ లో ఆబ్జెక్ట్ ఓరియెంటెడ్ ప్రోగ్రామింగ్‌ను అన్వేషిస్తాము. ఈ వ్యాసంలో క్రింది గమనికలు కవర్ చేయబడతాయి,

C ++ లో ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్ పై ఈ కథనంతో ప్రారంభించండి





ఆబ్జెక్ట్ ఓరియంటెడ్ ప్రోగ్రామింగ్ అంటే ఏమిటి?

విధానపరమైన విధానంలో ఎదురైన కొన్ని లోపాలను తొలగించడం ఆబ్జెక్ట్ ఓరియెంటెడ్ విధానం యొక్క ఆవిష్కరణ వెనుక ఉన్న ప్రధాన ప్రేరణ. OOP లో ప్రోగ్రామ్ అభివృద్ధిలో కీలకమైన అంశంగా పరిగణించబడుతుంది మరియు సిస్టమ్ చుట్టూ దాని ప్రవాహాన్ని పరిమితం చేస్తుంది. ఇది దానిపై పనిచేసే ఫంక్షన్‌తో డేటాను మరింత దగ్గరగా కలుపుతుంది మరియు బయటి ఫంక్షన్ల నుండి ప్రమాదవశాత్తు మార్పు నుండి రక్షిస్తుంది. ఇది ఆబ్జెక్ట్స్ అని పిలువబడే అనేక ఎంటిటీలలోకి ప్రవేశించడానికి సమస్యను అనుమతిస్తుంది మరియు తరువాత ఈ వస్తువుల చుట్టూ డేటా మరియు ఫంక్షన్లను నిర్మిస్తుంది. ఒక వస్తువు యొక్క డేటాను నిర్దిష్ట వస్తువుతో అనుబంధించబడిన ఫంక్షన్ల ద్వారా మాత్రమే యాక్సెస్ చేయవచ్చు. అయినప్పటికీ, ఒక వస్తువు యొక్క విధులు అవసరమైతే ఇతర వస్తువుల విధులను యాక్సెస్ చేయగలవు.

C ++ లో ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్ పై ఈ కథనంతో ముందుకు సాగుతోంది



ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్ యొక్క లక్షణాలు:

  • ఇది విధానం కంటే డేటాకు ఎక్కువ ప్రాధాన్యత ఇస్తుంది.
  • ప్రోగ్రామ్‌లను వస్తువులుగా విభజించారు, తద్వారా పని చేయడం సులభం అవుతుంది.
  • డేటా నిర్మాణాలు వస్తువులను వర్గీకరించే విధంగా రూపొందించబడ్డాయి.
  • పనిచేసే విధులుపైఒక వస్తువు యొక్క డేటా డేటా నిర్మాణంలో కలిసి ఉంచబడుతుంది.
  • డేటా దాచబడింది మరియు అనుమతి లేకుండా బాహ్య ఫంక్షన్ల ద్వారా యాక్సెస్ చేయబడదు.
  • వస్తువుల మధ్య కమ్యూనికేషన్ ఫంక్షన్ల సహాయంతో జరుగుతుంది.
  • క్రొత్త డేటా మరియు ఫంక్షన్లను జోడించడం సులభం అయింది.
  • ప్రోగ్రామ్ రూపకల్పనలో బాటప్-అప్ విధానాన్ని అనుసరిస్తుంది.

C ++ లో ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్ పై ఈ కథనంతో ముందుకు సాగుతోంది

వస్తువులు

OOP లలో వస్తువులు అత్యంత ప్రాధమిక రన్ & మిడోటైమ్ ఎంటిటీలు. అవి వాహకాలు, సమయం మరియు జాబితాలు లేదా ప్రోగ్రామ్ నిర్వహించాల్సిన ఏదైనా వస్తువు వంటి వినియోగదారు & మిడోట్ నిర్వచించిన డేటాను సూచిస్తాయి. ప్రోగ్రామింగ్ సమస్య వస్తువుల ఆధారంగా మరియు వాటి మధ్య కమ్యూనికేషన్ యొక్క స్వభావం ఆధారంగా విశ్లేషించబడుతుంది. వాస్తవ ప్రపంచ వస్తువులతో దగ్గరగా సరిపోయే విధంగా వస్తువులను ఎంచుకోవాలి. వస్తువులు మెమరీలో స్థలాన్ని తీసుకుంటాయి మరియు అనుబంధ చిరునామా లేదు. అమలు వస్తువులు ఒకదానికొకటి సందేశాలను పంపడం ద్వారా సంకర్షణ చెందుతాయి. ఉదాహరణకు, “స్టూడెంట్” మరియు * స్టూడెంట్_రోల్_నో ”ఒక ప్రోగ్రామ్‌లోని రెండు వస్తువులు అయితే, స్టూడెంట్ ఆబ్జెక్ట్ దాని అనుబంధ మార్కుల కోసం అభ్యర్థిస్తూ స్టూడెంట్_రోల్_నో ఆబ్జెక్ట్‌కు సందేశాన్ని పంపవచ్చు. ప్రతి వస్తువు డేటాను మార్చటానికి కోడ్‌ను కలిగి ఉంటుంది. వస్తువులు ఒకదానికొకటి డేటా లేదా కోడ్ గురించి తెలియకుండానే సంకర్షణ చెందుతాయి

ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్ సి ++ పై ఈ కథనంతో కదులుతోంది



తరగతులు

ఒక వస్తువు యొక్క మొత్తం కోడ్ సమితిని తరగతి సహాయంతో వినియోగదారు నిర్వచించిన డేటా రకంగా చేయవచ్చు, వాస్తవానికి, వస్తువులు రకం తరగతి యొక్క వేరియబుల్స్. మేము ఒక తరగతిని నిర్వచించిన తర్వాత, తరగతికి చెందిన ఎన్ని వస్తువులను అయినా సృష్టించవచ్చు. ప్రతి వస్తువు అవి సృష్టించబడిన రకం తరగతి డేటాతో అనుబంధించబడతాయి. అందువల్ల తరగతి అనేది ఒకే రకమైన వస్తువుల సమాహారం తప్ప మరొకటి కాదు. ఉదాహరణకు, మొబైల్, ల్యాప్‌టాప్ మరియు స్మార్ట్‌వాచ్ అన్నీ క్లాస్ ఎలక్ట్రానిక్స్‌లో సభ్యులు. తరగతులు వినియోగదారు నిర్వచించిన డేటా రకాలు. ఒక వస్తువును సృష్టించడానికి ఉపయోగించే వాక్యనిర్మాణం చాలా సులభం. ఎలక్ట్రానిక్స్ ఒక తరగతిగా నిర్వచించబడితే, స్టేట్మెంట్ ఎలక్ట్రానిక్స్ ల్యాప్‌టాప్ క్లాస్ ఎలక్ట్రానిక్స్‌కు చెందిన ఆబ్జెక్ట్ ల్యాప్‌టాప్‌ను సృష్టిస్తుంది.

ఎలక్ట్రానిక్స్ ల్యాప్‌టాప్

ఇది క్లాస్ ఎలక్ట్రానిక్స్‌కు చెందిన ఆబ్జెక్ట్ ల్యాప్‌టాప్‌ను సృష్టిస్తుంది.

C ++ లో ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్ పై ఈ కథనంతో ముందుకు సాగుతోంది

ఎన్కప్సులేషన్

ఎన్కప్సులేషన్‌ను ఒకే యూనిట్ కింద డేటా మరియు సమాచారాన్ని చుట్టడం అని నిర్వచించవచ్చు. ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్‌లో, ఎన్‌క్యాప్సులేషన్ డేటా మరియు వాటిని మార్చగల విధులను ఒకదానితో ఒకటి బంధించడం అని నిర్వచించబడింది.

ఎన్కప్సులేషన్ - సిపిపిలో ఆబ్జెక్ట్ ఓరియెంటెడ్ ప్రోగ్రామింగ్ - ఎడురేకా

ఎన్‌క్యాప్సులేషన్ యొక్క నిజ జీవిత ఉదాహరణను పరిగణించండి, ఒక పాఠశాలలో, విద్యార్థి విభాగం, ఉపాధ్యాయుల విభాగం, ఖాతాల విభాగం వంటి విభిన్న విభాగాలు ఉన్నాయి. విద్యార్థి విభాగం విద్యార్థి యొక్క అన్ని కార్యకలాపాలను నిర్వహిస్తుంది మరియు ఫైనాన్స్‌కు సంబంధించిన అన్ని డేటా రికార్డులను ఉంచుతుంది. అదేవిధంగా, ఉపాధ్యాయుల విభాగం ఉపాధ్యాయునికి సంబంధించిన అన్ని కార్యకలాపాలను నిర్వహిస్తుంది మరియు విద్యార్థుల అన్ని మార్కులు మరియు పనితీరు యొక్క రికార్డులను ఉంచుతుంది. కొన్ని కారణాల వల్ల విద్యార్థి విభాగానికి చెందిన విద్యార్థికి అన్ని విద్యార్థుల మార్కులు మరియు పనితీరు గురించి మొత్తం డేటా అవసరం అయినప్పుడు ఇప్పుడు పరిస్థితి తలెత్తవచ్చు. ఈ సందర్భంలో, ఉపాధ్యాయుల విభాగం యొక్క డేటాను నేరుగా యాక్సెస్ చేయడానికి అతనికి అనుమతి లేదు. అతను మొదట ఉపాధ్యాయ విభాగంలో కొంతమంది ఉపాధ్యాయుడిని సంప్రదించి, ఆపై మొత్తం డేటాను ఇవ్వమని అభ్యర్థిస్తాడు. ఎన్కప్సులేషన్ అంటే ఇదే. ఇక్కడ విద్యార్థి విభాగం మరియు వాటిని మార్చగల ఉపాధ్యాయ విభాగం యొక్క డేటా “ఉపాధ్యాయుల విభాగం” అనే ఒకే పేరుతో చుట్టబడి ఉంటుంది.

ఈ వ్యాసంతో ముందుకు సాగుతోంది

సంగ్రహణ

సంగ్రహణ అనేది అప్లికేషన్ యొక్క ముఖ్యమైన మరియు అవసరమైన లక్షణాలను మాత్రమే చూపించడం మరియు వివరాలను దాచడం. C ++ లో, తరగతులు ప్రాప్యత చేయడానికి బయటి ప్రపంచానికి డేటా మరియు ఫంక్షన్లను అందించగలవు, వేరియబుల్స్ను ప్రత్యక్ష ప్రాప్యత నుండి దాచకుండా ఉంచవచ్చు లేదా తరగతులు ప్రతి ఒక్కరికీ అందుబాటులో ఉన్న ప్రతిదాన్ని కూడా ప్రకటించగలవు, లేదా వారసత్వంగా పొందిన తరగతులకు మాత్రమే, వాటిని మన ప్రకారం మార్చవచ్చు అవసరాలు.

యాక్సెస్ స్పెసిఫైయర్‌లను ఉపయోగించి ఇది చేయవచ్చు. C ++ కి 3 యాక్సెస్ స్పెసిఫైయర్లు ఉన్నాయి:

  • ప్రైవేట్
  • రక్షించబడింది
  • ప్రజా

ఈ వ్యాసంతో ముందుకు సాగుతోంది

పాలిమార్ఫిజం

జావా ప్రోగ్రామ్ను ఎలా ముగించాలి

పాలిమార్ఫిజం అనే పదానికి అనేక రూపాలు ఉన్నాయి. మేము ఒకటి కంటే ఎక్కువ రూపాల్లో ప్రదర్శించబడే ఫంక్షన్ లేదా డేటా యొక్క సామర్ధ్యంగా పాలిమార్ఫిజమ్‌ను నిర్వచించగలము. ఒక వ్యక్తి ఒకే సమయంలో విభిన్న లక్షణాలను కలిగి ఉంటాడు. అదే సమయంలో అబ్బాయి ఒక విద్యార్థి, ఒక సోదరుడు, ఒక కొడుకు. కాబట్టి ఒకే వ్యక్తి వేర్వేరు పరిస్థితులలో భిన్నమైన ప్రవర్తనను కలిగి ఉంటాడు. దీనిని పాలిమార్ఫిజం అంటారు.

ఒక ఆపరేషన్ వివిధ సందర్భాల్లో అవసరానికి అనుగుణంగా వివిధ ప్రవర్తనలను ప్రదర్శిస్తుంది. ప్రవర్తన ఉపయోగించిన డేటా రకాలు మరియు ఆపరేషన్‌లో దాని అవసరాలపై ఆధారపడి ఉంటుంది.

C ++ ఆపరేటర్ ఓవర్‌లోడింగ్ మరియు ఫంక్షన్ ఓవర్‌లోడింగ్‌కు మద్దతు ఇస్తుంది.

  • ఆపరేటర్ ఓవర్‌లోడింగ్: ఇది వేర్వేరు సందర్భాల్లో వేర్వేరు ప్రవర్తనలను ప్రదర్శించడానికి ఆపరేటర్‌ను తయారుచేసే ప్రక్రియ.
  • ఫంక్షన్ ఓవర్‌లోడింగ్: ఫంక్షన్ ఓవర్‌లోడింగ్ వివిధ రకాల పనులను చేయడానికి ఒకే ఫంక్షన్ పేరును ఉపయోగిస్తుంది.

పాలిమార్ఫిజం వారసత్వాన్ని అమలు చేయడానికి విస్తృతంగా ఉపయోగించబడుతుంది.

C ++ లో ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్ పై ఈ కథనంతో ముందుకు సాగుతోంది

వారసత్వం

ఒక తరగతిలోని వస్తువులు మరొక తరగతిలోని వస్తువుల లక్షణాలు, విధులు మరియు డేటాను పొందగల ప్రక్రియ వారసత్వం. ఇది క్రమానుగత వర్గీకరణ భావనను అనుసరిస్తుంది. ఉదాహరణకు, పక్షి ‘పిచ్చుక’ తరగతి ‘ఎగిరే పక్షి’ లో ఒక భాగం, అది మళ్ళీ తరగతి ‘పక్షి’ లో భాగం. ఈ విధమైన విభజన సహాయంతో ప్రతి ఉత్పన్నమైన తరగతి సాధారణ లక్షణాలను మరియు డేటాను వారసత్వంగా పొందిన తరగతితో పంచుకుంటుంది. పునర్వినియోగం యొక్క ఆలోచనను వారసత్వం అందిస్తుంది. దీని అర్థం మనం ఇప్పటికే ఉన్న తరగతికి సవరించకుండా లేదా మార్పులు చేయకుండా అదనపు లక్షణాలను జోడించవచ్చు. ఇప్పటికే ఉన్న తరగతి నుండి క్రొత్త తరగతిని పొందడం ద్వారా ఇది సాధ్యపడుతుంది. కొత్త తరగతి పేరెంట్ మరియు చైల్డ్ క్లాస్ రెండింటి యొక్క మిశ్రమ లక్షణాలను పొందుతుంది.

వారసత్వం యొక్క నిజమైన ఉపయోగం ఏమిటంటే, ప్రోగ్రామర్ ఒక తరగతిని తిరిగి ఉపయోగించుకోవటానికి అనుమతిస్తుంది, కానీ ఖచ్చితంగా కాదు, అతను కోరుకున్నది కాదు, మరియు తరగతిని మార్చడం మరియు ఎటువంటి అవాంఛనీయ దుష్ప్రభావాలను పరిచయం చేయని విధంగా మార్పులు చేయడం. మిగిలిన తరగతుల్లోకి. ప్రతి ఉప-తరగతి దాని యొక్క ప్రత్యేకమైన లక్షణాలను మాత్రమే నిర్వచించిందని మరియు మిగిలినవి దాని మాతృ తరగతి నుండి ఉద్భవించాయని గమనించండి. ఏ వర్గీకరణను ఉపయోగించకుండా, ప్రతి తరగతి దాని యొక్క అన్ని లక్షణాలను స్పష్టంగా చేర్చవలసి ఉంటుంది, ఇది చాలా సమయం మరియు కృషిని తీసుకుంటుంది.

ఈ విధంగా ‘సి ++ లో ఆబ్జెక్ట్ ఓరియంటెడ్ ప్రోగ్రామింగ్’ పై ఈ వ్యాసం ముగిసింది. మీరు మరింత తెలుసుకోవాలనుకుంటే, చూడండి విశ్వసనీయ ఆన్‌లైన్ లెర్నింగ్ సంస్థ ఎడురేకా చేత. ఎడురేకా యొక్క జావా J2EE మరియు SOA శిక్షణ మరియు ధృవీకరణ కోర్సు కోర్ మరియు అధునాతన జావా భావనలతో పాటు హైబర్నేట్ & స్ప్రింగ్ వంటి వివిధ జావా ఫ్రేమ్‌వర్క్‌ల కోసం మీకు శిక్షణ ఇవ్వడానికి రూపొందించబడింది.

మాకు ప్రశ్న ఉందా? దయచేసి ఈ బ్లాగ్ యొక్క వ్యాఖ్యల విభాగంలో దీనిని ప్రస్తావించండి మరియు మేము వీలైనంత త్వరగా మిమ్మల్ని సంప్రదిస్తాము.