కంప్యూటర్లుప్రోగ్రామింగ్

జావా జేనేరిక్స్: వివరణ మరియు పద్ధతులు

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

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

జావా జేనేరిక్స్: వివరణ మరియు ఉదాహరణకు

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

తరగతి డిక్లరేషన్ ఏర్పడుతుంది పెయిర్ దీనిలో మార్గం దృష్టి చెల్లించండి. వెంటనే తరగతి పేరు తర్వాత, లేఖ T. సూచించిన ఇది ఓపెన్ బ్రాకెట్లు, ఈ తరగతి సందర్భం సృష్టించే ప్రక్రియలో ఇది పూరకం ఒక రకమైన, ఒక నిర్దిష్ట రకం ద్వారా భర్తీ చేయబడుతుంది ఉంది. పెయిర్ obj = కొత్త పెయిర్ (): ఈ క్రింది విధంగా కనిపిస్తుంది. ఇది బదులుగా T వెయ్యవచ్చు ఉపయోగించడానికి T, V లేదా E., ఒక నియమం వలె ఏ అక్షరం తెలుపుటకు, కానీ ఆ గమనించాలి

గమనిక: తయారీదారు రిఫరెన్స్ బ్రాకెట్లు ప్రకటించారు ఖాళీగా ఉన్నప్పుడు లక్ష్యం రకం పేర్కొనడం, జావా ఎనిమిదవ వెర్షన్ ప్రారంభమయ్యాయి. obj = కొత్త పెయిర్ <> () పెయిర్: సో ఉదాహరణకు పైన రాసి చేయవచ్చు.

ఒక తరగతి విధంగా, తన శరీరం, బదులుగా ఖాళీలను, లింకులు, మీరు ఆ లేఖ ఉపయోగించవచ్చు పద్ధతుల ద్వారా తిరిగి వస్తువులు నిర్దిష్ట రకాల ప్రకటించింది ఉన్నప్పుడు. సృష్టిస్తున్నప్పుడు T నుండి తరగతి ఆబ్జెక్ట్ ఈ కేసులో మొదటి మరియు రెండవ ఖాళీలను రకం పూర్ణాంకం యొక్క ఉంటుంది ఒక ప్రత్యేకమైన రకం స్థానంలో ఉంది.

వాదనలు మరియు firstItem secondItem తర్కం తరువాత, తగిన తయారీదారు అని కూడా రకం పూర్ణాంకం లేదా సబ్ ఉండాలి. మీరు ఒక వస్తువు సృష్టిస్తున్నప్పుడు పేర్కొనబడింది ఏమి నుండి విభిన్నమైన ఒక డేటా రకాన్ని ప్రసారం చేయడానికి ప్రయత్నించి, కంపైలర్ ఈ తప్పు చెయ్యనివ్వరు. అందువలన, ఒక వస్తువు గా ఉంటుంది వాదనలు తయారీదారు క్రింది: పెయిర్ obj = కొత్త పెయిర్ <> (కొత్త పూర్ణాంకము (1), కొత్త పూర్ణాంకము (2)). అదే వాదనలు మరియు పద్ధతులపై setFirst setSecond వర్తిస్తుంది. మరియు మీరు ఊహించినట్లే, పద్ధతులు getFirst getSecond మరియు రకం పూర్ణాంకం విలువ చేరుకుంటాయి.

పలు కారకాలు తరగతి రకాల సాధారణీకరణం

సాధారణమైన తరగతుల్లో కూడా కామాతో బ్రాకెట్లు నిర్మితమయ్యాయి ఆ రకమైన బహుళ పారామితులు ప్రకటించవచ్చు. ఒక సందర్భంలో పెయిర్ తరగతి క్రింద ప్రదర్శించబడుతుంది ద్వారా పునఃరూపకల్పన.

మీరు చూడగలరు గా, మీరు బ్రాకెట్లు ఈ తరగతి యొక్క ఒక ఉదాహరణ సృష్టించడానికి ఉన్నప్పుడు పారామితులు వంటి రకాల అదే నెంబర్ సూచించాలి. మీరు డేటా నిర్మాణం పటం అనేది ఈ రకం తెలిసి ఉంటే, మీరు అదే సూత్రం ఉపయోగిస్తుంది చూడగలరు. విలువ రకం - అక్కడ, మొదటి వాదన కీ రకం, మరియు రెండవ నిర్దేశిస్తుంది. ప్రసారమైన రకాల ఒక వస్తువు వాదనలు కలిసిపోతాయి ఉన్నప్పుడు గమనించాలి. పెయిర్ <స్ట్రింగ్, స్ట్రింగ్> obj: ఉదాహరణకు, ఈ క్రింది ప్రకటన పెయిర్ తరగతి ఉదాహరణకు సరియైనదే.

సాధారణీకరణ కొన్ని లక్షణాలు

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

ఒక ముఖ్యమైన పాయింట్ గమనించండి. అదే జావా జెనరిక్ తరగతి వివిధ సంస్కరణలకు లింకులు ఒకే వస్తువు పాయింటు కాదు. పెయిర్ obj1 మరియు పెయిర్ <డబుల్> obj2: అంటే, మేము రెండు లింకులు ఉన్నాయి అనుకుందాం. తత్ఫలితంగా, లైన్ లో obj1 = obj2 లోపం. రెండు వేరియబుల్స్ రకం పెయిర్ ఉన్నప్పటికీ, వస్తువులు అవి ప్రస్తావించబడుతున్న, భిన్నంగా ఉంటాయి. ఈ జావా సాధారణం భద్రత రకాల ఒక ప్రధాన ఉదాహరణ.

సాధారణ తరగతులు ఆంక్షలు

ఇది సాధారణీకరణ రకాల ప్రస్తావించడానికి మాత్రమే అన్వయించవచ్చు తెలుసు ముఖ్యం, అని పారామితులు పాస్ జెనరిక్ తరగతి జావా వాదన తరగతి రకం ఉండాలి. ఇటువంటి ఉదా: ఈ సాధారణ రకాల, డబుల్ లేదా దీర్ఘ, బదిలీ సాధ్యం కాదు. ఇతర మాటలలో, ఈ క్రింది పంక్తిని పెయిర్ తరగతి డిక్లరేషన్ అనుమతి లేదు: పెయిర్ <పూర్ణాంకానికి> obj. అయితే, ఈ పరిమితి తీవ్రమైన సమస్య, ప్రతి ఆదిమ రకం కోసం సంబంధిత జావా రేపర్ తరగతి ఉంది ఉంది. కచ్చితంగా చెప్పాలంటే, తరగతి పెయిర్ మీరు ఒక పూర్ణాంకం మరియు బూలియన్ విలువ avtoupakovka ప్రతిదానికీ యు లేదు టూకీగా అనుకుంటే: పెయిర్ obj = కొత్త పెయిర్ <> (25, నిజమైన).

మరో తీవ్రమైన పరిమితి పారామీటర్ రకం యొక్క ఒక ఉదాహరణ సృష్టించడానికి అసమర్థత ఉంది. ఉదాహరణకు, ఈ క్రింది లైన్ కంపైలేషన్ లోపం కారణం అవుతుంది: T మొదటి = కొత్త T (). ఒక వాదన పూర్తి తరగతి లేదా నైరూప్య లేదా ఇంటర్ఫేస్ ఆమోదించింది లేదో మీరు ముందుగానే తెలియదు ఎందుకంటే ఈ, స్పష్టంగా ఉంటుంది. అదే శ్రేణుల సృష్టించడానికి వెళుతుంది.

పరిమిత రకాల

ఇది సాధారణ తరగతి జావాకు ఒక వాదన వంటి జారీ చేసే రకాల జాబితా పరిమితం అవసరం ఉన్నప్పుడు తరచూ పరిస్థితులు ఉంటాయి. మా తరగతి పెయిర్ మేము వాటిని మరింత గణిత కార్యకలాపాలకు మాత్రమే సంఖ్యా విలువలు టూకీగా కావలసిన భావించవచ్చు లెట్. దీన్ని మనం పరామితి రకం ఎగువ పరిమితి నిర్ణయించుకోవాలి. ఇది బ్రాకెట్లు ఆమోదించే అన్ని వాదనలు వారసత్వంగా ఒక ఉపసమితిని యాడ్స్ ద్వారా గుర్తించబడింది. తరగతి పెయిర్ : ఇది క్రింది విధంగా కనిపిస్తుంది. ఈ పద్ధతిలో, కంపైలర్ తెలుసుకుంటాడు ఆ పారామితి T బదులుగా బదులుగా లేదా సంఖ్య తరగతి లేదా దాని ఉపతరగతులు ఒకటి.

ఈ ఒక సాధారణ రిసెప్షన్ ఉంటుంది. ఇటువంటి ఆంక్షలు తరచూ ఒకే తరగతి లో అనుకూలత రకం పారామితులు అందించడానికి ఉపయోగిస్తారు. మా తరగతి పెయిర్ ఉదాహరణకు పరిగణించండి: తరగతి పెయిర్ <టి, వి విస్తరించి T>. ఇక్కడ మేము టైపు T ఏకపక్ష ఉండాలనే కంపైలర్ చెప్పడానికి, మరియు V టైపు T రకం లేదా దాని ఉపతరగతులు ఒకటి గాని ఉండాలి.

పరిమిత "దిగువ" అదే మార్గం, కానీ బదులుగా పదం యొక్క పదం సూపర్ స్పెల్ విస్తరించింది. ఆ వర్గీకరించబడింది తరగతి పెయిర్ బదులుగా టి లేదా ఒక ArrayList, లేదా అది పొందుతాయని ఏ తరగతి లేదా ఇంటర్ఫేస్ బదులుగా ఉండవచ్చు చెప్పారు.

సాధారణం జావా పద్ధతులు మరియు తయారీదారుల

జావా లో సాధారణమైనవి మాత్రమే తరగతులకు పద్ధతులు దరఖాస్తు చేసుకోవచ్చు, కానీ. ఉదాహరణకు, ఒక సాధారణ పద్ధతి ఒక సాధారణ తరగతిలో ప్రకటించాలని చేయవచ్చు.

పైన చూపిన చిత్రంలో చూసినట్లుగా, ప్రకటన సాధారణీకరణం పద్ధతి సంఖ్య పెద్ద ఒప్పందం ఉంది. ఒక పద్ధతి తిరిగి రకం ముందు బ్రాకెట్లు పెట్టి వాటిని టైపు పారామీటర్లు తెలుపుటకు తగినంత.

ప్రతిదీ తయారీదారు కు అదేవిధంగా అమలు చేస్తే:

ఈ సందర్భంలో బ్రాకెట్లు అతను తిరిగి విలువ ఉంది ఎందుకంటే, డిజైనర్ యొక్క పేరును ముందు ఉంచాలి. రెండు కార్యక్రమాలు ఫలితంగా ఉంటుంది:

పూర్ణాంక

స్ట్రింగ్

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 te.delachieve.com. Theme powered by WordPress.