கணினிகள், நிரலாக்க
ஜாவா ஜெனரிக்ஸ்: விளக்கம் மற்றும் முறைகள்
ஜாவா மொழியின் தோற்றம் தொடங்கி சந்தேகத்திற்கு இடமின்றி அதனுடைய செயல்பாட்டில் நேர்மறை தருணங்களை கொண்டு மாறுதல்களைப் பற்றி நிறைய பெற்றுவிட்டன. இந்த குறிப்பிடத்தக்க மாறுதல்களில் ஒன்று ஜாவா பொதுவான அல்லது பொதுமையாக்கல்கள் அறிமுகமாகும். இந்த செயல்பாடு மட்டுமே இன்னும் சிறப்பாக மொழிபெயர்க்கப்பட நெகிழ்வான மற்றும் பல்துறை, ஆனால் தரவிற்காகவும் வகையான கொண்டு அடிப்படையில் மிகவும் பாதுகாப்பானதாக செய்ய.
உண்மையில் வகை குறிப்பு பொருள் அடிப்படையில் மட்டுமே, ஜாவா பொதுவான குறியீடு உள்ள பொதுவியல்புகளைக் அறிமுகம் முன்பு உருவாக்கிய முடியும் என்பதே. இத்தகைய இணைப்புகள் எந்த பொருள் ஒதுக்க முடியும். அனைத்து பிறகு, ஜாவாவில் வகுப்புகள் உள்ளார்ந்த பொருள் வர்க்கம் வாரிசுகள் உள்ளன. எனினும், இந்த அணுகுமுறையை இலக்கு வகை ஆப்ஜெக்ட் இருந்து ஒரு பொருளின் வெளிப்படையான மாற்றத்திற்கு பாதுகாப்பு வகையான தொடர்பான பல பிழைகள் ஒரு சாத்தியமான ஆதாரமாக உள்ளது. பொதுமையாக்கல்கள் பயன்படுத்தும் போது அனைத்து காஸ்ட் பிழைகளை கூட சாத்தியமான நீக்குவது, ஏற்கவும் சிறப்பாக தானாக செய்யப்படுகின்றன.
ஜாவா ஜெனரிக்ஸ்: விளக்கம் மற்றும் உதாரணமாக
எங்களுக்கு கீழே படத்தில் வழக்கமான வகைகளுக்குப் பொதுமைப்படுத்தும் விண்ணப்பம் என்ற எளிய உதாரணத்தைக் கவனிப்போம். பின்னர் அனைத்து subtleties மற்றும் ஜாவா பொதுவான நுணுக்கங்களை ஒரு விரிவான பரிசோதனையை தொடர.
வர்க்கம் அறிவிப்பு ஜோடி ஏற்படுவதின் வழி கவனம் செலுத்துகிறேன். உடனடியாக வர்க்கம் பெயர் பிறகு, கடிதம் டி சுட்டிக்காட்டும் திறந்த கோண அடைப்புக்குறிக்குள், அது நிரப்பு ஒரு வகையான, இந்த வகுப்பின் ஒரு சான்றாக உருவாக்கும் நடவடிக்கையில் ஈடுபட்டுள்ள ஒரு குறிப்பிட்ட வகை மாற்றப்படும் உள்ளது. பின்வருமாறு தெரிகிறது: ஜோடி <எண்> obj = புதிய ஜோடி <எண்> (). அதற்கு பதிலாக டி, ஒரு விதி என்று, எந்த கடிதம் குறிப்பிட முடியும் என்று, ஆனால் டி, வி அல்லது ஈ பயன்படுத்த கவனத்தில் கொள்ள வேண்டும்
குறிப்பு: ஜாவாவின் எட்டாவது பதிப்பு தொடங்கி கட்டமைப்பாளருக்கு உள்ள குறிப்பு கோணம் அடைப்புக்குறிக்குள் அறிவித்தார் காலியாக விட்டுவிட முடியும் இலக்கு வகையை குறிப்பிடும்போது. <எண்> obj = புதிய ஜோடி <> () ஜோடி: எனவே உதாரணமாக மேலே குறிப்பிட்டதைப் போன்று மாற்றி எழுதப்படலாம்.
ஒரு வர்க்கம் போன்ற ஒரு வழியில், தன் உடலுக்குள் பதிலாக துறைகள், இணைப்புகள், நீங்கள் அந்த கடிதம் பயன்படுத்த முடியும் முறைகள் மூலமாக அளிக்கப்பட்ட பொருட்களை குறிப்பிட்ட வகைகளின் அறிவித்தார் போது. டி என்பதால் வர்க்கம் பொருள் இந்த வழக்கில் முதல் மற்றும் இரண்டாவது துறைகள் வகை எண் இருக்கும் ஒரு குறிப்பிட்ட வகை, மாற்றப்படுகிறது உருவாக்கும் போது.
வாதங்கள் மற்றும் firstItem secondItem தர்க்கத்தின் தொடர்ந்து, டைப் எண் அல்லது துணை பிரிவு வகையில் இருக்க வேண்டும் அதற்கான கட்டமைப்பாளருக்கு குறிப்பிடப்படுகிறது. நீங்கள் ஒரு பொருளை உருவாக்கும் போது குறிப்பிடப்பட்டது என்ன வேறுபட்டது என்று ஒரு தரவு வகை பரிமாற்றத்தை முயற்சிக்காது என்றால், ஒடுக்கி இந்த தவறு மாட்டேன். இவ்வாறு, ஒரு பொருளின் மேல் இருக்கும் போது மதிப்புரு கன்ஸ்ட்ரக்டரை பின்வருமாறு: ஜோடி <எண்> obj = புதிய ஜோடி <> (புதிய முழுஎண் (1), புதிய முழுஎண் (2)). அதே வாதங்கள் மற்றும் முறைகள் setFirst setSecond பொருந்தும். மற்றும் அநேகமாக நீங்கள், முறைகள் getFirst getSecond யூகித்து மற்றும் வகை எண் ஒரு மதிப்பு திரும்பி வந்துவிடும்.
பல காரணிகள் வர்க்கம் வகையான பரவிய
பொதுமைப்படுத்தப்பட்ட வகுப்புகள் கூட ஒரு கமா கொண்டு கோணம் அடைப்புக்குறிக்குள் என்று அமைக்கப்பட்டுள்ள வகை பல காரணிகள் அறிவிக்க முடியும். ஒரு வழக்கு ஜோடி வர்க்கம் கீழே வழங்கப்படுகிறது மூலம் மறுவடிவமைப்பு.
நீங்கள் பார்க்க முடியும், நீங்கள் கோணம் அடைப்புக்குறிக்குள் இந்த வகுப்பின் ஒரு சான்றாக உருவாக்க போது வரையறைகளைத் வகையான அதே எண்ணை குறிப்பிட வேண்டும். நீங்கள் ஒரு வரைபடம் போன்ற தரவு கட்டமைப்பு இந்த வகை தெரிந்திருந்தால், நீங்கள் அதை சரியாக அதே கொள்கை பயன்படுத்துகிறது என்று பார்க்க முடியும். மதிப்பு வகை - அங்கு, முதல் வாதம் முக்கிய வகையாலும், இரண்டாவது குறிப்பிடுகிறது. அது பரிமாற்றுகின்றன வகையான ஒரு பொருளை வாதங்கள் மேலமையக்கூடும் போது கவனத்தில் கொள்ள வேண்டும். உதாரணமாக, பின்வரும் விளம்பரத்திற்குப் ஜோடி வகுப்பு சான்று முற்றிலும் சரியானது: ஜோடி <சரம், சரமாக> obj.
பொதுமைப்படுத்தலின் சில அம்சங்கள்
மேலும் செல்லும் முன், ஜாவா தொகுப்பு வர்க்கம் ஜோடி பல்வேறு பதிப்புகள் உருவாக்க இல்லை என்பது குறிப்பிடத்தக்கது. உண்மையில், ஒரு பொதுமைப்படுத்தப்பட்ட வகை அனைத்துத் தகவல்களையும் ஒடுக்குவதற்கான செயல்பாட்டில் நீக்கப்படும். மாறாக, நீங்கள் ஜோடி வர்க்கத்தின் ஒரு சிறப்பு பதிப்பு உருவாக்கி, அதற்கான வகையான கொண்டு. எனினும், திட்டத்தில் இன்னும் வர்க்கத்தின் மட்டுமே ஒரு பொதுவான பதிப்பாகும். இந்த செயல்முறை ஜாவா பொதுவான சுத்தம் வகை அழைக்கப்படுகிறது.
ஒரு முக்கியமான புள்ளி குறிப்பு. அதே ஜாவா பொதுவான வகை பல்வேறு பதிப்புகள் இணைப்புகள் ஒன்று மற்றும் அதே பொருளின் சுட்டிக்காட்ட முடியாது. ஜோடி <எண்> obj1 மற்றும் ஜோடி <இரட்டை> obj2: அதாவது, நாங்கள் இரண்டு இணைப்புகள் என்று நினைக்கிறேன். இதன் விளைவாக, வரிசையில் obj1 = obj2 ஒரு பிழை. இருவரும் மாறிகள் வகை ஜோடி <டி> கீழ் இருப்பினும், பொருள்கள் அவை பார்க்கவும், வித்தியாசமாக இருக்கிறது. இந்த ஜாவா பொதுவான பாதுகாப்பு வகைகளின் பிரதம உதாரணம் ஆகும்.
பொதுவான வகுப்புகள் மீதான கட்டுப்பாடுகள்
அது பொதுமையாக்கல்கள் வகையான குறிக்க மட்டும் பயன்படுத்தப்படும் என்பதைத் தெரிவிக்க முக்கியம் என்று அளவுருக்கள் அனுப்ப பொதுவான வகை ஜாவா வாதம் ஒரு வர்க்கம் வகை நிர்ணயிக்கப்படுகிறது. அத்தகைய எ.கா., இந்த எளிய, எந்த வகையான இரட்டை அல்லது நீண்ட மாற்றப்படும் முடியாது. வேறு வார்த்தைகளில் கூறுவதானால், பின்வரும் வரி ஜோடி வர்க்கம் அறிவிப்பு அனுமதி இல்லை: ஜோடி <முழு எண்ணாக> obj. எனினும் இந்தக் குறைபாடு அது ஒரு பெரிய பிரச்சினையாகத், ஒவ்வொரு பழமையான வகை ஒரு தொடர்புடைய ஜாவா போர்வையை வர்க்கம் உள்ளது உள்ளது. சரியாகச் சொன்னால், வர்க்கம் ஜோடி நீங்கள் ஒரு முழு மற்றும் பூலியன் மதிப்பு avtoupakovka எல்லாம் நீங்கள் செய்யும் என்காப்ஸுலேட் விரும்பினால்: ஜோடி
மற்றொரு கடுமையான எல்லையைப் அளவுரு வகை ஒரு நிகழ்வே உருவாக்க பெற இயலாமல் போய்விடுகிறது. உதாரணமாக, பின்வரும் வரி ஒரு தொகுத்தல் பிழை ஏற்படுத்தும்: டி முதல் = புது T (). ஒரு வாதம் ஒரு முழு வர்க்கம் அல்லது எண்ணக்கரு, அல்லது இடைமுகம் கடந்து என்பதை நீங்கள் முன்கூட்டியே தெரியாது ஏனெனில் இது தெளிவாக இருக்கின்றது. அதே வரிசைகள் உருவாக்கும் செல்கிறது.
மட்டுப்படுத்தப்பட்ட வகையான
அது பொதுவான வகை Java ஒரு மதிப்புருவாக வழங்கப்பட்டுள்ளது முடியும் என்று வகைகளின் பட்டியல் குறைக்க அவசியமான போது அடிக்கடி சூழ்நிலைகளில் உள்ளன. எங்களுக்கு எங்கள் வர்க்கம் ஜோடி நாம் அவர்கள் மீது மேலும் கணித நடவடிக்கைகளுக்கு மட்டுமே எண் மதிப்புகள் என்காப்ஸுலேட் வேண்டும் எனக் கருதுவோம். இதை செய்ய நாங்கள் அளவுரு வகை மேல் எல்லையை வரையறுப்பதற்கான வேண்டும். அது கோணம் அடைப்புக்குறிக்குள் கடந்து அனைத்து வாதங்கள் மரபுரிமை ஒரு சூப்பர்கிளாஸ் விளம்பரங்கள் மூலம் உணரப்படுகிறது. அது பின்வருமாறு இருக்கும்: வர்க்கம் ஜோடி <டி எண் பரவியுள்ளது>. இந்த முறையில், ஒடுக்கி காண்கிறார் என்று அளவுரு டி பதிலீடு பதிலாக முடியும் அல்லது எண் வர்க்கம் அல்லது அதன் துணைப்பிரிவுகள் ஒன்று.
இந்த ஒரு பொதுவான வரவேற்பு உள்ளது. இத்தகைய கட்டுப்பாடுகள் எப்போதும் ஒரே வர்க்கம் சேர்க்கைப் பண்புகளை வகை அளவுருக்கள் வழங்க பயன்படுத்தப்படுகின்றன. எங்கள் வர்க்கம் ஜோடி எடுத்துக்காட்டாக கவனியுங்கள்: வர்க்கம் ஜோடி <டி, வி டி பரவியுள்ளது>. இங்கே நாம் டைப் T தன்னிச்சையான இருக்க முடியும் என்று ஒடுக்கி சொல்ல மற்றும் V டைப் T வகை அல்லது அதன் துணைப்பிரிவுகள் ஒன்று ஆக இருக்கலாம்.
"கீழே" வரையறுப்பது அதே வழி, ஆனால் அதற்கு பதிலாக சொல் வார்த்தை சூப்பர் உச்சரிக்க பரவியுள்ளது. அவை வகைபடுத்தப்பட்டன உள்ளது வர்க்கம் ஜோடி <டி சூப்பர் ArrayList> பதிலாக டி அல்லது ஒரு ArrayList, அல்லது அது பரம்பரை என்று எந்த வர்க்கம் அல்லது இடைமுகம் பதிலீடுகளாக இருக்கக்கூடும் என்று கூறுகிறார்.
பொதுவான ஜாவா முறைகளை மற்றும் கன்ஸ்ட்ரக்டர்கள்
ஜாவாவில், பொதுமையாக்கல்கள் மட்டுமே வகுப்புகள் முறைகள் தரப்படாத முடியும், ஆனால். உதாரணமாக, ஒரு பொதுவான முறை ஒரு வழக்கமான வகுப்பறையில் அறிவித்தார் முடியும்.
மேலே படத்தில் காண்பது போல், விளம்பர பரவிய முறை பெரிய விஷயமல்ல. ஒரு முறை திரும்ப வகை கோணம் அடைப்புக்குறிக்குள் வைத்து அவர்களை வகை அளவுருக்களை குறிப்பிட முன் போதும்.
எல்லாம் கட்டமைப்பாளருக்கு இதேபோல் செய்யப்படுகிறது என்றால்:
இந்த வழக்கில் ஆங்கிள் அடைப்புக்குறிக்குள் அவர் திரும்பக்கிடைக்காத மதிப்பு ஏனெனில், வடிவமைப்பாளர் பெயர் முன் வைக்க. இருவரும் திட்டங்கள் விளைவாக இருக்கும்:
முழு
சரம்
Similar articles
Trending Now