మీరు ఒక ప్రాంతంలోని జీవుల జాబితాను తయారు చేయాల్సిన ఉదాహరణను పరిశీలించండి. ఇది మానవుడు, జంతువు లేదా మొక్క అనే విషయం పట్టింపు లేదు. అన్నింటికీ ప్రాణం. ఈ సందర్భంలో, మీరు అవన్నీ “లివింగ్ థింగ్స్” గా వర్గీకరిస్తారు మరియు వాటిని వర్గీకరించరు. అదేవిధంగా, మీరు కొంత డేటాను నిల్వ చేయవలసి వచ్చినప్పుడు, మీకు ముఖ్యమైనది కంటెంట్ మరియు డేటాటైప్ కాదు మరియు మీరు జెనెరిక్స్ను ఉపయోగించే ప్రదేశం. లో జనరిక్స్ సాధారణ రకాలు మరియు పద్ధతుల వాడకాన్ని అనుమతించే భాషా లక్షణం.
ఈ వ్యాసంలో నేను కవర్ చేయబోయే అంశాల జాబితా క్రింద ఉంది:
- జావాలో జెనెరిక్స్ అంటే ఏమిటి?
- జావా జెనెరిక్స్ ఎందుకు?
- జావా జెనెరిక్స్ రకాలు
- జావాలో జెనెరిక్స్ యొక్క ప్రయోజనాలు
జావాలో జెనెరిక్స్ అంటే ఏమిటి?
జెనెరిక్స్ జెనెరిక్ రకాలు మరియు పద్ధతుల నిర్వచనం మరియు వాడకానికి సంబంధించిన భాషా లక్షణాల సమితిని సూచించే పదం. జావా సాధారణ పద్ధతులు సాధారణ డేటా రకాలు మరియు పద్ధతుల నుండి భిన్నంగా ఉంటాయి. జెనెరిక్స్ ముందు, మేము ఉపయోగించాము ఏదైనా రకమైన వస్తువులను నిల్వ చేయడానికి అనగా. సాధారణం కానిది . ఇప్పుడు, జెనెరిక్స్ బలవంతం చేస్తుంది ఒక నిర్దిష్ట రకం వస్తువులను నిల్వ చేయడానికి ప్రోగ్రామర్.
జావాలో జెనెరిక్స్ అంటే ఏమిటో ఇప్పుడు మీకు తెలుసు, మరింత ముందుకు సాగండి మరియు మీకు జావా జెనెరిక్స్ ఎందుకు అవసరమో అర్థం చేసుకోండి.
జావా జెనెరిక్స్ ఎందుకు?
మీరు చూస్తే తరగతులు, అప్పుడు చాలా తరగతులు రకం ఆబ్జెక్ట్ యొక్క పారామితి / వాదనను తీసుకుంటాయని మీరు గమనిస్తారు. సాధారణంగా, ఈ రూపంలో, వారు ఏదైనా జావా రకాన్ని ఆర్గ్యుమెంట్గా తీసుకొని అదే వస్తువు లేదా వాదనను తిరిగి ఇవ్వవచ్చు. అవి తప్పనిసరిగా భిన్నమైనవి అనగా ఇలాంటి రకం కాదు.
కొన్నిసార్లు జావా అనువర్తనంలో, ఇన్పుట్ యొక్క డేటా రకం పరిష్కరించబడదు. ఇన్పుట్ ఒక కావచ్చు పూర్ణ సంఖ్య , కు ఫ్లోట్ లేదా . ఇన్పుట్ను కేటాయించడానికి సరైన డేటాటైప్లో, ముందు తనిఖీలు నిర్వహించాల్సి ఉంది. సాంప్రదాయిక విధానంలో, ఇన్పుట్ తీసుకున్న తరువాత, ఇన్పుట్ యొక్క డేటాటైప్ తనిఖీ చేయబడింది మరియు తరువాత సరైన డేటాటైప్ యొక్క వేరియబుల్కు కేటాయించబడుతుంది. ఈ తర్కాన్ని ఉపయోగించినప్పుడు, కోడ్ యొక్క పొడవు మరియు అమలు సమయం పెంచబడింది. దీనిని నివారించడానికి, జెనెరిక్స్ ప్రవేశపెట్టబడ్డాయి . మీరు జెనెరిక్స్ ఉపయోగించినప్పుడు, కోడ్లోని పారామితులు కంపైల్ సమయంలో స్వయంచాలకంగా తనిఖీ చేయబడతాయి మరియు ఇది అప్రమేయంగా డేటాటైప్ను సెట్ చేస్తుంది. కాబట్టి మీకు జావాలో జెనెరిక్స్ భావన అవసరం.
ఇప్పుడు మీరు జెనెరిక్స్ గురించి కొన్ని అంతర్దృష్టులను పొందారు, ముందుకు సాగండి మరియు వివిధ మార్గాలను చూద్దాంసోర్స్ కోడ్కు జెనెరిక్స్ వర్తించవచ్చు.
జావా జెనెరిక్స్ రకాలు
జావాలో జెనెరిక్స్ వర్తించే 4 విభిన్న మార్గాలు ఉన్నాయి మరియు అవి ఈ క్రింది విధంగా ఉన్నాయి:
- సాధారణ రకం తరగతి
- సాధారణ ఇంటర్ఫేస్
- సాధారణ పద్ధతి
- సాధారణ కన్స్ట్రక్టర్
తరగతిని లోతుగా టైప్ చేయడానికి జెనెరిక్స్ ఎలా ఉపయోగించవచ్చో ఇప్పుడు అర్థం చేసుకుందాం.
1. సాధారణ రకం తరగతి
ఒకటి లేదా అంతకంటే ఎక్కువ రకం వేరియబుల్స్ను ప్రకటిస్తే ఒక తరగతి సాధారణమని అంటారు. ఈ వేరియబుల్ రకాలను టైప్ పారామితులు అంటారు . ఉదాహరణ సహాయంతో దీన్ని అర్థం చేసుకుందాం. దిగువ ఉదాహరణలో, నేను ఒక ఆస్తితో తరగతిని సృష్టిస్తాను x మరియు ఆస్తి రకం ఒక వస్తువు.
తరగతి జెనెరిక్ క్లాస్ {ప్రైవేట్ ఆబ్జెక్ట్ x పబ్లిక్ శూన్య సెట్ (ఆబ్జెక్ట్ x) {this.x = x} పబ్లిక్ ఆబ్జెక్ట్ పొందండి () {తిరిగి x}}
ఇక్కడ, మీరు ఒక నిర్దిష్ట రకంతో తరగతిని ప్రారంభించిన తర్వాత, తరగతిని నిర్దిష్ట రకంతో మాత్రమే ఉపయోగించాలి. ఉదా. తరగతి యొక్క ఒక ఉదాహరణ విలువను కలిగి ఉండాలని మీరు కోరుకుంటే x of type ‘ స్ట్రింగ్ ‘, అప్పుడు ప్రోగ్రామర్ సెట్ చేసి మాత్రమే పొందాలి టైప్ చేయండి. నేను ఆస్తి రకాన్ని ఆబ్జెక్ట్కు ప్రకటించినందున, ఈ పరిమితిని అమలు చేయడానికి మార్గం లేదు. ప్రోగ్రామర్ ఏదైనా వస్తువును సెట్ చేయవచ్చు మరియు ఏదైనా తిరిగి విలువ రకాన్ని ఆశించవచ్చు get పద్ధతి అన్ని జావా రకాలు ఉప రకాలు కాబట్టి తరగతి.
ఈ రకమైన పరిమితిని అమలు చేయడానికి, మేము ఈ క్రింది విధంగా జనరిక్లను ఉపయోగించవచ్చు:
క్లాస్ జెనెరిక్ క్లాస్ {// టి అంటే 'టైప్' ప్రైవేట్ టి x పబ్లిక్ శూన్య సెట్ (టి x) {this.x = x} పబ్లిక్ టి గెట్ () {రిటర్న్ ఎక్స్}}
తప్పు రకములతో తరగతి దుర్వినియోగం కాదని ఇప్పుడు మీకు హామీ ఇవ్వవచ్చు. యొక్క సాధారణ ఉదాహరణ' జెనెరిక్ క్లాస్ ”క్రింద చూపినట్లు కనిపిస్తోంది:
జెనెరిక్ క్లాస్ ఉదాహరణ = కొత్త జెనెరిక్ క్లాస్ () instance.set ('ఎడురేకా') instance.set (10) // ఇది కంపైల్ సమయ లోపాన్ని పెంచుతుంది
కనుక ఇది ఎలా పనిచేస్తుంది. ఇదిఇంటర్ఫేస్కు సారూప్యత నిజం. జావాలోని ఇంటర్ఫేస్లలో జెనెరిక్స్ రకం సమాచారాన్ని ఎలా ఉపయోగించవచ్చో అర్థం చేసుకోవడానికి ఒక ఉదాహరణను త్వరగా చూద్దాం.
2. సాధారణ ఇంటర్ఫేస్
ఒక నైరూప్య డేటా రకాలను సూచిస్తుంది. వారు అనుమతిస్తారు వారి ప్రాతినిధ్య వివరాల నుండి స్వతంత్రంగా మార్చబడుతుంది. అలాగే, వారు ఒక సోపానక్రమాన్ని ఏర్పరుస్తారు భాషలు. జావాలోని ఇంటర్ఫేస్లకు సాధారణ రకాన్ని ఎలా ఉపయోగించవచ్చో అర్థం చేసుకుందాం.
// జెనెరిక్ ఇంటర్ఫేస్ డెఫినిషన్ ఇంటర్ఫేస్ జెనరిక్ ఇంటర్ఫేస్ {టి 2 పెర్ఫార్మ్ ఎక్సిక్యూషన్ (టి 1 ఎక్స్) టి 1 రివర్స్ఎక్సిక్యూషన్ (టి 2 ఎక్స్)} // జెనరిక్ ఇంటర్ఫేస్ క్లాస్ను అమలు చేసే క్లాస్ జెనెరిక్ క్లాస్ జెనరిక్ ఇంటర్ఫేస్ {పబ్లిక్ ఇంటీజర్ పెర్ఫార్మ్ఎక్సిక్యూషన్ (స్ట్రింగ్ x) {// ఎగ్జిక్యూషన్ కోడ్} పబ్లిక్ స్ట్రింగ్ రివర్స్ ఎక్సిక్యూషన్ ( పూర్ణాంక x) {// అమలు కోడ్}}
టైప్ క్లాస్ మరియు ఇంటర్ఫేస్లకు జెనెరిక్స్ ఎలా వర్తించవచ్చో మీరు అర్థం చేసుకోగలిగారు అని నేను నమ్ముతున్నాను. ఇప్పుడు ఈ కథనాన్ని లోతుగా పరిశోధించి, పద్ధతులు మరియు నిర్మాణదారులకు ఇది ఎలా సహాయపడుతుందో అర్థం చేసుకుందాం.
3. సాధారణ పద్ధతులు
సాధారణ పద్ధతులు సాధారణ తరగతులకు సమానంగా ఉంటాయి. అవి ఒకదానికొకటి భిన్నంగా ఉంటాయి స్కోప్ లేదా టైప్ సమాచారం పద్ధతి లోపల మాత్రమే. సాధారణ పద్ధతులు వారి స్వంత రకం పారామితులను పరిచయం చేస్తాయి.
దీన్ని ఉదాహరణతో అర్థం చేసుకుందాం. క్రింద ఒక సాధారణ పద్ధతి యొక్క ఉదాహరణ, ఇది వేరియబుల్స్ జాబితాలో టైప్ పారామితుల యొక్క అన్ని సంఘటనలను కనుగొనడానికి ఉపయోగపడుతుంది.
(T listElement == null) count ++} else {(T listElement: list) కోసం (T listElement == null) if (T listElement: list) if (T listElement: list) if (T listElement: list ) if (element.equals (listElement)) count ++} return count}
మీరు జాబితాను పాస్ చేస్తే ఈ పద్ధతిలో శోధించడానికి స్ట్రింగ్, ఇది బాగా పనిచేస్తుంది. మీరు స్ట్రింగ్ జాబితాలో ఒక సంఖ్యను కనుగొనడానికి ప్రయత్నిస్తే, అది కంపైల్ టైమ్ ఎర్రర్ ఇస్తుంది.
ఈ సారూప్యత కన్స్ట్రక్టర్తో సమానంగా ఉంటుంది. జెనరిక్ కన్స్ట్రక్టర్ కోసం ఒక ఉదాహరణ తీసుకుందాం మరియు ఇది ఎలా పనిచేస్తుందో అర్థం చేసుకుందాం.
4. జెనెరిక్ కన్స్ట్రక్టర్
బిల్డర్కు కొత్తగా సృష్టించిన వస్తువును ప్రారంభించే కోడ్ యొక్క బ్లాక్. జ బిల్డర్ J లో ఉదాహరణ పద్ధతిని పోలి ఉంటుంది ava రిటర్న్ రకం లేనందున ఇది ఒక పద్ధతి కాదు. కన్స్ట్రక్టర్ తరగతికి సమానమైన పేరు ఉంది మరియు J లో ఇలా కనిపిస్తుంది ava కోడ్. ఇప్పుడు ఒక ఉదాహరణ తీసుకుందాం మరియు ఇది ఎలా పనిచేస్తుందో అర్థం చేసుకుందాం.
తరగతి పరిమాణం {ప్రైవేట్ టి పొడవు ప్రైవేట్ టి వెడల్పు ప్రైవేట్ టి ఎత్తు // సాధారణ కన్స్ట్రక్టర్ పబ్లిక్ డైమెన్షన్ (టి పొడవు, టి వెడల్పు, టి ఎత్తు) {సూపర్ () this.length = length this.width = width this.height = height}}
పైథాన్లో సంఖ్యను రివర్స్ చేయండి
పై ఉదాహరణలో, డైమెన్షన్ క్లాస్ యొక్క కన్స్ట్రక్టర్ రకం సమాచారాన్ని కలిగి ఉన్నారు. కాబట్టి మీరు ఒకే రకమైన అన్ని లక్షణాలతో మాత్రమే పరిమాణం యొక్క ఉదాహరణను కలిగి ఉండవచ్చు. కాబట్టి మీరు జెనెరిక్స్ రకం కన్స్ట్రక్టర్లను ఎలా ఉపయోగించవచ్చు. జావాలోని జెనెరిక్స్ రకాలను మీరు అర్థం చేసుకున్నారని నేను నమ్ముతున్నాను.
ఇప్పుడు మరింత ముందుకు వెళ్లి జావాలో జెనెరిక్స్ యొక్క ప్రయోజనాలను చూద్దాం.
జావాలో జెనెరిక్స్ యొక్క ప్రయోజనాలు
1. కోడ్ పునర్వినియోగం
మీరు ఒక వ్యూహం లేదా తరగతి లేదా ఒకదాన్ని కంపోజ్ చేయవచ్చు ఒకసారి మరియు మీకు అవసరమైన ఏ రకమైన లేదా ఏదైనా మార్గం కోసం ఉపయోగించండి.
2. వ్యక్తిగత రకాలు కాస్టింగ్ అవసరం లేదు
సాధారణంగా, మీరు నుండి సమాచారాన్ని తిరిగి పొందారు ప్రతిసారీ, మీరు దాన్ని టైప్కాస్ట్ చేయాలి. ప్రతి రికవరీ పని వద్ద టైప్కాస్టింగ్ ఒక ప్రధాన మైగ్రేన్. ఆ విధానాన్ని నిర్మూలించడానికి, జనరిక్స్ ప్రవేశపెట్టబడ్డాయి.
3. జనరిక్ కాని అల్గోరిథం అమలు
ఇది సురక్షితమైన రకం వివిధ రకాల వస్తువులపై పనిచేసే అల్గారిథమ్లను లెక్కించగలదు.
జావా జెనెరిక్స్ యొక్క ప్రయోజనాల గురించి అంతే. దీనితో, మేము జావాలోని జెనెరిక్స్ పై ఈ వ్యాసం చివరకి వచ్చాము. మీరు దీన్ని సమాచారంగా కనుగొన్నారని మరియు జావా జెనెరిక్స్ అర్థం చేసుకోవడంలో మీకు సహాయపడ్డారని నేను ఆశిస్తున్నాను.
చూడండి ప్రపంచవ్యాప్తంగా విస్తరించి ఉన్న 250,000 మందికి పైగా సంతృప్తికరమైన అభ్యాసకుల నెట్వర్క్తో విశ్వసనీయ ఆన్లైన్ లెర్నింగ్ సంస్థ ఎడురేకా చేత. మీ ప్రయాణంలో అడుగడుగునా మీకు సహాయం చేయడానికి మేము ఇక్కడ ఉన్నాము, ఈ జావా ఇంటర్వ్యూ ప్రశ్నలతో పాటుగా, మేము జావా డెవలపర్గా ఉండాలనుకునే విద్యార్థులు మరియు నిపుణుల కోసం రూపొందించిన ఒక పాఠ్యాంశంతో ముందుకు వచ్చాము. ఈ కోర్సు మీకు జావా ప్రోగ్రామింగ్లోకి రావడానికి మరియు హైబర్నేట్ & స్ప్రింగ్ వంటి వివిధ జావా ఫ్రేమ్వర్క్లతో పాటు కోర్ మరియు అడ్వాన్స్డ్ జావా కాన్సెప్ట్లకు శిక్షణ ఇవ్వడానికి రూపొందించబడింది.
మాకు ప్రశ్న ఉందా? దయచేసి ఈ “జావాలోని జెనెరిక్స్” యొక్క వ్యాఖ్యల విభాగంలో పేర్కొనండి ' వ్యాసం మరియు మేము వీలైనంత త్వరగా మిమ్మల్ని సంప్రదిస్తాము.