ஜாவா & சி # இல் இடைமுகம் மற்றும் சுருக்க வகுப்புக்கு இடையிலான வேறுபாடு

நூலாசிரியர்: Laura McKinney
உருவாக்கிய தேதி: 1 ஏப்ரல் 2021
புதுப்பிப்பு தேதி: 13 மே 2024
Anonim
ஜாவா & சி # இல் இடைமுகம் மற்றும் சுருக்க வகுப்புக்கு இடையிலான வேறுபாடு - தொழில்நுட்பம்
ஜாவா & சி # இல் இடைமுகம் மற்றும் சுருக்க வகுப்புக்கு இடையிலான வேறுபாடு - தொழில்நுட்பம்

உள்ளடக்கம்


இடைமுகம் மற்றும் சுருக்கம் வகுப்பு இரண்டும் OOP இல் “முழுமையற்ற வகைக்கு” ​​பங்களிக்கின்றன. சில நேரங்களில் "என்ன செய்வது" என்பதை வரையறுக்க எங்களுக்கு ஒரு சூப்பர் கிளாஸ் தேவைப்படுகிறது, ஆனால் "எப்படி செய்வது" என்பதல்ல, பகுதியை எவ்வாறு செய்வது என்பது அதன் தேவைக்கேற்ப பெறப்பட்ட வகுப்பினரால் செயல்படுத்தப்படும், "இடைமுகம்”இதற்கு ஒரு தீர்வை வழங்குங்கள். சில நேரங்களில் நமக்கு ஒரு சூப்பர் கிளாஸ் வகுப்பு தேவைப்படுகிறது, இது பெறப்பட்ட வகுப்புகளால் செயல்படுத்தப்படக்கூடிய சில பொதுவான கட்டமைப்பையும், பெறப்பட்ட வகுப்புகளால் பயன்படுத்தக்கூடிய சில குறிப்பிட்ட கட்டமைப்பையும் வரையறுக்கிறது, “சுருக்கம் வகுப்பு”இதற்கு ஒரு தீர்வை வழங்குகிறது. இடைமுகத்திற்கும் சுருக்க வர்க்கத்திற்கும் இடையிலான அடிப்படை வேறுபாடு என்னவென்றால், இடைமுகம் முழுமையாக முழுமையடையாது, மற்றும் சுருக்க வர்க்கம் ஓரளவு முழுமையடையாது.

  1. ஒப்பீட்டு விளக்கப்படம்
  2. வரையறை
  3. முக்கிய வேறுபாடுகள்
  4. முடிவுரை

ஒப்பீட்டு விளக்கப்படம்

ஒப்பீட்டுக்கான அடிப்படைஇடைமுகம்சுருக்கம் வகுப்பு
அடிப்படைஅதன் செயல்பாட்டைப் பற்றி அல்ல தேவைகள் பற்றிய அறிவு உங்களிடம் இருக்கும்போது, ​​நீங்கள் "இடைமுகத்தை" பயன்படுத்துகிறீர்கள்.நீங்கள் "சுருக்கம் வகுப்புகள்" பயன்படுத்தும் செயலாக்கங்களைப் பற்றி ஓரளவு அறிந்தால்.
முறைகள்இடைமுகத்தில் சுருக்க முறைகள் மட்டுமே உள்ளன.சுருக்கம் வகுப்பில் சுருக்க முறைகள் மற்றும் கான்கிரீட் முறைகள் உள்ளன.
முறைகளின் அணுகல் மாற்றிநாம் அறிவிக்காவிட்டாலும் இடைமுக முறைகள் எப்போதும் "பொது" மற்றும் "சுருக்கம்" ஆகும். எனவே, இதை 100%, தூய சுருக்க வர்க்கம் என்று கூறலாம்.சுருக்க வகுப்பில் உள்ள முறை பொது மற்றும் சுருக்கமாக இருக்கும் என்பது கட்டாயமில்லை. இது கான்கிரீட் முறைகளையும் கொண்டிருக்கலாம்.
முறைகளுக்கான தடைசெய்யப்பட்ட மாற்றிபின்வரும் மாற்றிகளுடன் ஒரு இடைமுக முறையை அறிவிக்க முடியாது:
பொது: தனியார் மற்றும் பாதுகாக்கப்பட்ட
சுருக்கம்: இறுதி, நிலையான, ஒத்திசைக்கப்பட்ட, சொந்த, கண்டிப்பான.
சுருக்க வர்க்க மாறியின் மாற்றியமைப்பாளர்களுக்கு எந்த கட்டுப்பாடுகளும் இல்லை.
மாறிகளின் அணுகல் மாற்றிஇடைமுக மாறிகளுக்கு அனுமதிக்கப்பட்ட Acess Modifier பொது, நிலையான மற்றும் இறுதி என்பது நாம் அறிவிக்கிறோமா இல்லையா.சுருக்க வகுப்பில் உள்ள மாறிகள் பொது, நிலையான, இறுதி இருக்கக்கூடாது.
மாறிகளுக்கான கட்டுப்படுத்தப்பட்ட மாற்றியமைப்பாளர்கள்இடைமுக மாறிகள் தனிப்பட்ட, பாதுகாக்கப்பட்ட, நிலையற்ற, கொந்தளிப்பானதாக அறிவிக்க முடியாது.சுருக்க வர்க்க மாறிகளின் மாற்றியமைப்பவர்களுக்கு எந்த தடையும் இல்லை.
மாறிகள் துவக்கம்இடைமுக மாறிகள் அதன் அறிவிப்பின் போது துவக்கப்பட வேண்டும்.சுருக்க வர்க்க மாறிகள் அதன் அறிவிப்பின் போது துவக்கப்பட வேண்டும் என்பது கட்டாயமில்லை.
நிகழ்வு மற்றும் நிலையான தொகுதிகள்இடைமுகத்தின் உள்ளே, நீங்கள் ஒரு நிகழ்வு அல்லது நிலையான தொகுதியை அறிவிக்க முடியாது.சுருக்கம் வகுப்பு அதற்குள் ஒரு நிகழ்வு அல்லது நிலையான தொகுதியை அனுமதிக்கிறது.
ஆக்குனர்கள்இடைமுகத்திற்குள் கட்டமைப்பாளரை நீங்கள் அறிவிக்க முடியாது.நீங்கள் ஒரு சுருக்க வகுப்பிற்குள் கட்டமைப்பாளரை அறிவிக்க முடியும்.


இடைமுகத்தின் வரையறை

ஜாவா பல பரம்பரை அனுமதிக்காது. அதாவது, ஒரு வகுப்பால் ஒரே நேரத்தில் ஒன்றுக்கு மேற்பட்ட வகுப்புகளைப் பெற முடியாது. இதன் பின்னணியில் உள்ள காரணத்தை ஒரு எடுத்துக்காட்டுடன் விளக்கலாம். எங்களுக்கு இரண்டு பெற்றோர் வகுப்பு, ஏ மற்றும் பி மற்றும் பெறப்பட்ட வகுப்பு சி என்று வைத்துக்கொள்வோம். பெறப்பட்ட வகுப்பு சி, ஏ மற்றும் பி ஆகிய இரு வகுப்புகளையும் பெறுகிறது.இப்போது, ​​இருவருக்கும் A மற்றும் B வகுப்பு முறை () உள்ளது, பின்னர் அது வகுப்பு C க்கு ஒரு கேள்வியாக இருக்கும், இது எந்த வகுப்பின் தொகுப்பு () முறை மரபுரிமையாக இருக்க வேண்டும். இந்த சிக்கலுக்கு தீர்வு “இடைமுகம்”.

இடைமுகம் ஒரு தூய சுருக்க வர்க்கம். ஒரு இடைமுகத்தை உருவாக்க பயன்படுத்தப்படும் முக்கிய சொல் “இடைமுகம்”. இடைமுகத்திற்குள் உள்ள அனைத்து முறைகளும் முழுமையாக சுருக்கமாக இருப்பதால். இடைமுகம் ஒரு வகுப்பு என்ன செய்ய வேண்டும் என்பதை மட்டுமே குறிப்பிடுகிறது, ஆனால் அது எவ்வாறு செய்கிறது என்பதை வரையறுக்கவில்லை. இடைமுகத்திற்குள் அறிவிக்கப்பட்ட அனைத்து முறைகளும் சுருக்கமாக இருப்பதால், ஒரு இடைமுகத்திற்கு எந்த நிகழ்வும் உருவாக்கப்படவில்லை. ஜாவாவில் “இடைமுகத்தின்” பொதுவான வடிவம்:


access_specifier இடைமுகம் interface_name {return-type method-name1 (அளவுரு-பட்டியல்); திரும்ப-வகை முறை-பெயர் 2 (அளவுரு-பட்டியல்); இறுதி-வர்நேம் 1 = மதிப்பு; இறுதி-வர்நேம் 2 = மதிப்பு; // ... திரும்ப-வகை முறை-பெயர் என் (அளவுரு-பட்டியல்); இறுதி-வர்நேம்என் = மதிப்பு; }

வகுப்புகள் இடைமுகத்தை செயல்படுத்த வேண்டியிருப்பதால் அணுகல் விவரக்குறிப்பு பொது என அறிவிக்கப்படுகிறது.

சி ++ இல் “இடைமுகம்” என்ற கருத்து எங்களிடம் இல்லை. ஆனால், ஜாவா மற்றும் சி # இடைமுகத்தை நன்றாக வரையறுக்கின்றன.

ஜாவாவில் இடைமுகம்:

  • ஒரு இடைமுகத்தின் மாறுபாடுகள் முன்னிருப்பாக எப்போதும் பொது, நிலையான மற்றும் இறுதி.
  • அதன் அறிவிப்பின் போது மாறிகள் தொடங்கப்பட வேண்டும்.
  • மாறிகள் ஒருபோதும் தனிப்பட்ட, பாதுகாக்கப்பட்ட, நிலையற்ற மற்றும் நிலையற்றதாக அறிவிக்கப்படாது.
  • ஒரு இடைமுகத்தின் முறைகள் எப்போதுமே பொது மற்றும் சுருக்கமானவை, அதேசமயம் அவை ஒருபோதும் தனிப்பட்ட, பாதுகாக்கப்பட்ட, இறுதி, நிலையான, ஒத்திசைக்கப்பட்ட, சொந்த மற்றும் கண்டிப்பானவை என அறிவிக்க முடியாது.
  • கட்டமைப்பாளரின் முக்கிய நோக்கம் வர்க்க மாறிகள் துவக்கப்படுவதால் இடைமுகத்திற்குள் எந்த கட்டமைப்பாளரையும் நீங்கள் அறிவிக்க முடியாது, ஆனால் இடைமுக மாறிகள் அதன் அறிவிப்பின் போது துவக்கப்படுகின்றன.
  • இடைமுகம் பிற இடைமுகங்களை மரபுரிமையாகக் கொள்ளலாம், ஆனால், அத்தகைய இடைமுகத்தை செயல்படுத்தும் வர்க்கம் மரபுரிமை பெற்ற அனைத்து இடைமுகங்களின் முறைகளையும் செயல்படுத்த வேண்டும்.
  • ஒரு வர்க்கம் ஒரு நேரத்தில் ஒன்றுக்கு மேற்பட்ட இடைமுகங்களை மரபுரிமையாகப் பெற முடியும், மேலும் இது மரபுரிமை பெற்ற அனைத்து இடைமுகங்களின் அனைத்து முறைகளையும் செயல்படுத்த வேண்டும்.

ஜாவாவில் ஒரு இடைமுகத்தை செயல்படுத்துவதற்கான பொதுவான வடிவம்:

வகுப்பு வகுப்பு_பெயர் இடைமுகம்_பெயர் {// வகுப்பு-உடல்}

ஒரு இடைமுகத்தை மரபுரிமையாகப் பெறுவதற்கு, ஒரு வர்க்கம் “செயல்படுத்துகிறது” என்ற முக்கிய சொல்லைப் பயன்படுத்துகிறது, மேலும் வர்க்கம் ஒரு பரம்பரை இடைமுகத்தால் அறிவிக்கப்பட்ட அனைத்து முறையையும் செயல்படுத்துகிறது.

சி # இல் இடைமுகம்:

சி # இல் உள்ள இடைமுகம் ஜாவாவில் இடைமுகத்துடன் கிட்டத்தட்ட ஒத்திருக்கிறது:

  • சி # இல் உள்ள இடைமுகம் மாறிகளை அறிவிக்காது.
  • இடைமுகத்தின் பெயர் மூலதன I உடன் முன்னொட்டுள்ளது மற்றும் பெருங்குடல் (:) அடையாளத்துடன் மரபுரிமை பெற்றது.

சி # இல் இடைமுகத்தை செயல்படுத்துவதற்கான பொதுவான வடிவம்:

class class_name: interface_name {// class-body}

சுருக்கம் வகுப்பின் வரையறை

ஒன்று அல்லது அதற்கு மேற்பட்ட சுருக்க முறைகளைக் கொண்ட ஒரு வர்க்கம் சுருக்கம் வகுப்பு என்று அழைக்கப்படுகிறது, மேலும் வர்க்க அறிவிப்பின் தொடக்கத்தில் “வர்க்கம்” முக்கிய சொல்லுக்கு முன்னால் “சுருக்கம்” என்ற முக்கிய சொல்லைப் பயன்படுத்தி ஒரு வர்க்கம் சுருக்கமாக அறிவிக்கப்படுகிறது. சுருக்கம் வகுப்பில் சுருக்க முறை இருப்பதால், அது முழுமையற்ற வகையாகும். எனவே, நீங்கள் ஒரு சுருக்க வர்க்கத்தின் பொருட்களை உருவாக்க முடியாது. ஒரு வர்க்கம் ஒரு சுருக்க வகுப்பைப் பெறும்போதெல்லாம், அது சுருக்க வர்க்கத்தின் அனைத்து சுருக்க முறைகளையும் செயல்படுத்த வேண்டும் என்றால் அது இல்லாவிட்டால் அதுவும் சுருக்கமாக அறிவிக்கப்பட வேண்டும். சுருக்க முறைகளின் முழுமையான செயல்படுத்தல் அடையும் வரை சுருக்க பண்பு மரபுரிமையாகும்.

சுருக்கம் வகுப்பில் கான்கிரீட் முறைகளும் இருக்கக்கூடும், அவை பெறப்பட்ட வர்க்கத்தால் பயன்படுத்தப்படலாம். ஆனால், நீங்கள் ஒரு சுருக்க வகுப்பிற்குள் ஒரு சுருக்க கட்டமைப்பாளரை அல்லது ஒரு சுருக்க நிலையான முறையை அறிவிக்க முடியாது. ஜாவாவில் சுருக்க வர்க்கத்தின் பொதுவான வடிவம் பின்வருமாறு:

சுருக்க வகுப்பு class_name {சுருக்க முறை_பெயர் 1 (); சுருக்க முறை_பெயர் 2 (); : return_type method_name3 (அளவுரு_ பட்டியல்) {// கான்கிரீட் முறை} return_type method_name4 (அளவுரு_ பட்டியல்) {// கான்கிரீட் முறை}};

ஒரு சுருக்க வர்க்கத்தின் கருத்து ஜாவா மற்றும் சி # இரண்டிலும் ஒத்திருக்கிறது. ஒரு சுருக்கம் வகுப்பு C ++ இல் சற்று வித்தியாசமானது.

சி ++ இல் ஒரு வகுப்பில் குறைந்தபட்சம் ஒரு மெய்நிகர் செயல்பாடு இருந்தால் வர்க்கம் ஒரு சுருக்க வகுப்பாக மாறுகிறது. “சுருக்கம்” என்ற முக்கிய சொல்லுக்கு பதிலாக, “மெய்நிகர்” என்ற முக்கிய சொல் ஒரு சுருக்க முறையை அறிவிக்க பயன்படுத்தப்படுகிறது.

  1. "என்ன தேவை" என்பது பற்றிய அறிவு உங்களுக்கு இருக்கும்போது, ​​"அது எவ்வாறு செயல்படுத்தப்படும்" என்பது பற்றி அல்ல, பின்னர் இடைமுகம் பயன்படுத்தப்பட வேண்டும். மறுபுறம், தேவை என்னவென்று உங்களுக்குத் தெரிந்தால், அது எவ்வாறு செயல்படுத்தப்படும் என்பதை ஓரளவு அறிந்தால், ஒரு சுருக்க வகுப்பைப் பயன்படுத்துங்கள்.
  2. ஒரு இடைமுகம் அதன் அனைத்து முறைகளையும் சுருக்கமாகக் கொண்டுள்ளது, ஆனால், ஒரு சுருக்க வர்க்கத்திற்கு சில சுருக்க முறைகள் மற்றும் சில உறுதியான முறைகள் உள்ளன.
  3. ஒரு இடைமுகத்திற்குள் உள்ள முறைகள் பொது மற்றும் சுருக்கமானவை, எனவே இது ஒரு தூய்மையான சுருக்க வர்க்கம் என்றும் அழைக்கப்படுகிறது. மறுபுறம், ஒரு சுருக்கத்திற்குள் உள்ள முறைகள் பொது மற்றும் சுருக்கமாக மட்டுமே இருக்கக்கூடாது.
  4. ஒரு இடைமுக முறை ஒருபோதும் தனிப்பட்ட, பாதுகாக்கப்பட்ட, இறுதி, நிலையான, ஒத்திசைக்கப்பட்ட, சொந்த அல்லது கண்டிப்பானதாக இருக்க முடியாது. மறுபுறம், ஒரு சுருக்க வர்க்கத்தின் முறைகளுக்கு எந்த தடையும் இல்லை.
  5. ஒரு இடைமுகத்தில் உள்ள மாறிகள் பொது மற்றும் இறுதியானவை, நாங்கள் அவற்றை அறிவிக்கிறோமா இல்லையா, அதேசமயம், ஒரு சுருக்க வர்க்கத்தின் மாறிகள் பொது மற்றும் இறுதி மட்டுமே என்று அத்தகைய கட்டுப்பாடு இல்லை.
  6. ஒரு இடைமுகத்தில் உள்ள மாறிகள் ஒருபோதும் தனிப்பட்ட பாதுகாக்கப்பட்ட நிலையற்றதாகவோ அல்லது நிலையற்றதாகவோ இருக்க முடியாது, அதேசமயம், ஒரு சுருக்க வகுப்பில் மாறிகளுக்கு எந்த தடையும் இல்லை.
  7. அறிவிப்பின் போது ஒரு இடைமுகத்தின் மாறி தொடங்கப்பட வேண்டும். மறுபுறம், ஒரு சுருக்க வகுப்பில் உள்ள மாறிகள் எந்த நேரத்திலும் தொடங்கப்படலாம்.
  8. ஒரு இடைமுகத்தின் உள்ளே, ஒரு நிகழ்வு அல்லது நிலையான தொகுதியை அறிவிக்க முடியாது, ஆனால், நீங்கள் ஒரு சுருக்க வகுப்பிற்குள் நிகழ்வு அல்லது நிலையான தொகுதியை அறிவிக்க முடியும்.
  9. ஒரு இடைமுகத்திற்குள் நீங்கள் கட்டமைப்பாளரை வரையறுக்க முடியாது, அதேசமயம், நீங்கள் ஒரு சுருக்க வகுப்பிற்குள் கட்டமைப்பாளரை வரையறுக்கலாம்.

முடிவுரை:

ஒரு அடிப்படை வகுப்பை நீங்கள் உருவாக்க வேண்டியிருக்கும் போது, ​​பெறப்பட்ட வகுப்புகள் அவற்றின் தேவைக்கேற்ப செயல்படுத்தக்கூடிய பொதுவான வடிவங்களைக் கொண்டிருக்கும், இடைமுகம் மற்றும் சுருக்க வர்க்கத்தின் கருத்து அவ்வாறு செய்ய உதவுகிறது.