విషయ సూచిక:
నిర్వచనం - బేస్ క్లాస్ - .NET అంటే ఏమిటి?
బేస్ క్లాస్, సి # సందర్భంలో, ఇతర తరగతులను సృష్టించడానికి లేదా ఉత్పన్నం చేయడానికి ఉపయోగించే తరగతి. బేస్ క్లాస్ నుండి తీసుకోబడిన తరగతులను చైల్డ్ క్లాసులు, సబ్ క్లాసులు లేదా ఉత్పన్నమైన క్లాసులు అంటారు. బేస్ క్లాస్ ఏ ఇతర తరగతి నుండి వారసత్వంగా పొందదు మరియు ఉత్పన్నమైన తరగతికి తల్లిదండ్రులుగా పరిగణించబడుతుంది.
ఉత్పన్నం ద్వారా వారసత్వం సాధించే మార్గాలను బేస్ క్లాస్ ఏర్పరుస్తుంది. బేస్ క్లాస్ నుండి తీసుకోబడిన తరగతి డేటా మరియు ప్రవర్తన రెండింటినీ వారసత్వంగా పొందుతుంది. ఉదాహరణకు, వాహనం ఒక బేస్ క్లాస్ కావచ్చు, దీని నుండి ఉత్పన్నమైన తరగతుల కారు మరియు బస్సును పొందవచ్చు. కారు మరియు బస్సు రెండూ వాహనాలు, మరియు అవి ప్రతి ఒక్కటి బేస్ క్లాస్ యొక్క వారి స్వంత ప్రత్యేకతలను సూచిస్తాయి.
జావాలో వలె కానీ C ++ కాకుండా, C # తరగతుల బహుళ వారసత్వాలకు మద్దతు ఇవ్వదు. అన్ని వర్చువల్ సభ్యుల కోసం వర్చువల్ మాడిఫైయర్ను స్పష్టంగా గుర్తించడం ద్వారా సి # జావా నుండి భిన్నంగా ఉంటుంది.
బేస్ క్లాస్ను పేరెంట్ క్లాస్ లేదా సూపర్ క్లాస్ అని కూడా అంటారు.
టెకోపీడియా బేస్ క్లాస్ గురించి వివరిస్తుంది - .NET
బేస్ క్లాస్ (కన్స్ట్రక్టర్లు మరియు డిస్ట్రక్టర్లు మినహా) నుండి సంపూర్ణంగా పొందిన కోడ్ను తిరిగి ఉపయోగించగల ప్రత్యేక తరగతిని సృష్టించడానికి బేస్ క్లాస్ సహాయపడుతుంది మరియు ఉత్పన్నమైన తరగతిలో ఉత్పన్నమైన తరగతికి సంబంధించిన సభ్యులను జోడించడం లేదా భర్తీ చేయడం ద్వారా బేస్ క్లాస్ యొక్క కార్యాచరణను విస్తరిస్తుంది. సి # లో, ఉత్పన్నమైన తరగతుల నుండి పెంచగల సంఘటనలను బేస్ క్లాస్లో ప్రకటిస్తారు. ఒక నిర్దిష్ట డేటా రకానికి ప్రత్యేకమైన ఆపరేషన్లను చుట్టుముట్టడానికి ఉపయోగించే సాధారణ తరగతులు బేస్ క్లాస్లుగా పనిచేస్తాయి, వశ్యత మరియు కోడ్ పునర్వినియోగతను సాధించడానికి సాధారణ ప్రవర్తనను అందిస్తాయి.
C # లోని బేస్ క్లాస్ యొక్క లక్షణాలను కీ:
- బేస్ క్లాస్ సభ్యులు (కన్స్ట్రక్టర్, ఒక ఉదాహరణ పద్ధతి లేదా ఉదాహరణ ప్రాపర్టీ యాక్సెసర్) "బేస్" కీవర్డ్ని ఉపయోగించి ఉత్పన్న తరగతిలో యాక్సెస్ చేస్తారు.
- ఉత్పన్న తరగతులకు ముందు బేస్ తరగతులు స్వయంచాలకంగా తక్షణం ఇవ్వబడతాయి.
- మ్యాచింగ్ పారామితి జాబితాతో బేస్ క్లాస్ కన్స్ట్రక్టర్కు కాల్ చేయడం ద్వారా ఉత్పన్నమైన తరగతి ఇన్స్టాంటియేషన్ సమయంలో బేస్ క్లాస్కు కమ్యూనికేట్ చేయవచ్చు.
- బేస్ క్లాస్ సభ్యులను స్పష్టమైన తారాగణం ద్వారా ఉత్పన్నమైన తరగతి నుండి యాక్సెస్ చేయవచ్చు.
- బేస్ క్లాస్ కూడా ఉత్పన్నమైన తరగతి కావచ్చు కాబట్టి, ఒక తరగతికి అనేక బేస్ క్లాసులు ఉండవచ్చు.
- ఉత్పన్నమైన తరగతి సభ్యులు బేస్ క్లాస్ యొక్క పబ్లిక్, రక్షిత, అంతర్గత మరియు రక్షిత అంతర్గత సభ్యులను యాక్సెస్ చేయవచ్చు.
- వారసత్వం యొక్క పరివర్తన స్వభావం కారణంగా, ఉత్పన్నమైన తరగతికి ఒకే బేస్ క్లాస్ మాత్రమే ఉన్నప్పటికీ, ఇది బేస్ క్లాస్ యొక్క పేరెంట్లో ప్రకటించిన సభ్యులను వారసత్వంగా పొందుతుంది.
- బేస్ క్లాస్లో ఒక పద్ధతిని వర్చువల్గా ప్రకటించడం ద్వారా, ఉత్పన్నమైన తరగతి ఆ పద్ధతిని దాని స్వంత అమలుతో భర్తీ చేయగలదు. ఓవర్రైడ్ మరియు ఓవర్రైడింగ్ పద్ధతి మరియు ఆస్తి రెండూ వర్చువల్, నైరూప్య లేదా ఓవర్రైడ్ వంటి ఒకే యాక్సెస్-స్థాయి మాడిఫైయర్లను కలిగి ఉండాలి.
- "అబ్స్ట్రాక్ట్" అనే కీవర్డ్ను ఒక పద్ధతి కోసం ఉపయోగించినప్పుడు, ఆ తరగతి నుండి నేరుగా వారసత్వంగా వచ్చే ఏ నాన్అబ్స్ట్రాక్ట్ క్లాస్లోనైనా అది భర్తీ చేయాలి.
- సారాంశ బేస్ క్లాసులు దాని డిక్లరేషన్లోని "నైరూప్య" కీవర్డ్ని ఉపయోగించి సృష్టించబడతాయి మరియు "క్రొత్త" కీవర్డ్ని ఉపయోగించి ప్రత్యక్ష దీక్షను నిరోధించడానికి ఉపయోగిస్తారు. నైరూప్య పద్ధతులను అమలు చేసే ఉత్పన్న తరగతుల ద్వారా మాత్రమే వాటిని ఉపయోగించవచ్చు.
- సభ్యులందరినీ "సీలు" గా ప్రకటించడం ద్వారా ఇతర తరగతులు దాని నుండి వారసత్వంగా రాకుండా ఒక బేస్ క్లాస్ నిరోధించవచ్చు.
- బేస్ క్లాస్ సభ్యులను "క్రొత్త" అనే కీవర్డ్ ఉపయోగించి బేస్ క్లాస్ సభ్యులను ఉత్పన్న తరగతిలో దాచవచ్చు. "క్రొత్తది" ఉపయోగించకపోతే, కంపైలర్ ఒక హెచ్చరికను సృష్టిస్తుంది.
బేస్ క్లాస్ మరియు ఇంటర్ఫేస్ను పరస్పరం మార్చుకోగలిగినప్పటికీ, వర్సింగ్ కోణం నుండి ఇంటర్ఫేస్ల కంటే క్లాసులు మరింత సరళంగా ఉంటాయి. కింది దృశ్యాలు మినహా చాలా సందర్భాలలో బేస్ తరగతికి ప్రాధాన్యత ఇవ్వబడుతుంది:
- అనేక సంబంధం లేని తరగతులు ఉత్పన్నమైన తరగతికి ఆధారమవుతాయి
- తరగతులు ఇప్పటికే బేస్ తరగతులను ఏర్పాటు చేశాయి
- సంకలనం తగినది లేదా ఆచరణాత్మకమైనది కాదు
