சி # இல் அப்புறப்படுத்துதல் () மற்றும் இறுதி () ஆகியவற்றுக்கு இடையிலான வேறுபாடு

நூலாசிரியர்: Laura McKinney
உருவாக்கிய தேதி: 2 ஏப்ரல் 2021
புதுப்பிப்பு தேதி: 4 மே 2024
Anonim
ஃபைனலைஸ் vs அப்புறப்படுத்து | C# நேர்காணல் கேள்விகள்
காணொளி: ஃபைனலைஸ் vs அப்புறப்படுத்து | C# நேர்காணல் கேள்விகள்

உள்ளடக்கம்


முறைகள் ஒரு பொருளை வைத்திருக்கும் நிர்வகிக்கப்படாத வளங்களை விடுவிக்க சி # இன் முறைகள் () மற்றும் இறுதி () ஆகும். அகற்றல் () முறை ஐடிஸ்போசபிள் இடைமுகத்திற்குள் வரையறுக்கப்படுகிறது, அதேசமயம் முறை இறுதி () வர்க்க பொருளுக்குள் வரையறுக்கப்படுகிறது. அப்புறப்படுத்துதல் () மற்றும் இறுதி () ஆகியவற்றுக்கு இடையேயான முக்கிய வேறுபாடு முறை அப்புறப்படுத்துவது() பயனரால் வெளிப்படையாகப் பயன்படுத்தப்பட வேண்டும், அதேசமயம், முறை இறுதிசெய்க () பொருள் அழிக்கப்படுவதற்கு சற்று முன்பு குப்பை சேகரிப்பாளரால் பயன்படுத்தப்படுகிறது. கீழே காட்டப்பட்டுள்ள ஒப்பீட்டு விளக்கப்படத்தின் உதவியுடன் அவற்றுக்கிடையேயான வேறு சில வேறுபாடுகளைப் படிப்போம்.

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

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

ஒப்பீட்டுக்கான அடிப்படைஅப்புறப்படுத்து ()இறுதி ()
வரையறுத்தஅப்புறப்படுத்தும் முறை () இடைமுக ஐடிஸ்போசபிள் இடைமுகத்தில் வரையறுக்கப்படுகிறது.இந்த முறை java.lang.object வகுப்பில் வரையறுக்கப்பட்ட () ஐடியை இறுதி செய்கிறது.
தொடரியல்பொது வெற்றிடத்தை அகற்று () {
// குறியீட்டை இங்கே அப்புறப்படுத்துங்கள்
}
பாதுகாக்கப்பட்ட வெற்றிடத்தை இறுதி () {
// இறுதி குறியீடு இங்கே
}
செயல்படுத்தப்படுகின்றது அகற்றும் முறை () பயனரால் பயன்படுத்தப்படுகிறது.முறை இறுதி () முறை குப்பை சேகரிப்பாளரால் பயன்படுத்தப்படுகிறது.
நோக்கம்நிர்வகிக்கப்படாத வளங்களை செயல்படுத்தும்போதெல்லாம் விடுவிக்க முறை அகற்றுதல் () பயன்படுத்தப்படுகிறது.பொருள் அழிக்கப்படுவதற்கு முன்பு நிர்வகிக்கப்படாத வளங்களை விடுவிக்க முறை இறுதி () பயன்படுத்தப்படுகிறது.
நடைமுறைப்படுத்தல்நெருக்கமான () முறை இருக்கும் போதெல்லாம் () முறையை அகற்றும் முறை செயல்படுத்தப்பட வேண்டும்.நிர்வகிக்கப்படாத வளங்களுக்கு இறுதி முறை () செயல்படுத்தப்பட உள்ளது.
அணுகல் விவரக்குறிப்புஅகற்றும் முறை () பொது என அறிவிக்கப்படுகிறது.இறுதி செய்யும் முறை () தனிப்பட்டதாக அறிவிக்கப்படுகிறது.
அதிரடி () அகற்றும் முறை வேகமானது மற்றும் உடனடியாக ஒரு பொருளை அப்புறப்படுத்துகிறது.அப்புறப்படுத்துவதை ஒப்பிடும்போது இறுதி முறை மெதுவாக உள்ளது
செயல்திறன்முறை அகற்றுகிறது () உடனடி செயலைச் செய்கிறது, எனவே வலைத்தளங்களின் செயல்திறனை பாதிக்காது. முறை இறுதி () மெதுவாக இருப்பது வலைத்தளங்களின் செயல்திறனை பாதிக்கிறது.


அகற்றுவதற்கான வரையறை ()

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

public void dispose () {// குறியீட்டை இங்கே அப்புறப்படுத்துங்கள்}

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

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


இறுதி வரையறை ()

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

முறையின் தொடரியல் இறுதி ():

பாதுகாக்கப்பட்ட வெற்றிடத்தை இறுதி () {// இறுதி குறியீடு இங்கே}

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

இறுதி () முறை செயல்திறனின் விலையை பாதிக்கிறது, ஏனெனில் இது நினைவகத்தை உடனடியாக விடுவிக்காது. சி # இல் இறுதி முறை தானாக அழிப்பாளர்களுடன் அழைக்கப்படுகிறது.

  1. அப்புறப்படுத்தும் முறை () ஒரு இடைமுகத்தில் வரையறுக்கப்படுகிறது IDisposable. மறுபுறம், முறை இறுதி () வகுப்பில் வரையறுக்கப்படுகிறது பொருள்.
  2. முறையை அப்புறப்படுத்துதல் () ஒரு புரோகிராமரால் குறியீட்டிற்குள் கைமுறையாக செயல்படுத்தப்பட வேண்டும், அதே நேரத்தில் முறையை இறுதி செய்யும் முறை தானாகவே குப்பை சேகரிப்பாளரால் பொருளை அழிக்கும் முன் செயல்படுத்தப்படும்.
  3. முறையை அப்புறப்படுத்துவது எப்போது வேண்டுமானாலும் செயல்படுத்தப்படலாம், அதேசமயம் முறையை இறுதி செய்வது குப்பை சேகரிப்பாளரால் செயல்படுத்தப்படுகிறது, அந்த பொருள் நீண்ட காலமாக குறிப்பிடப்படவில்லை என்பதைக் கண்டறிந்தால்.
  4. ஐடிஸ்போசபிள் இடைமுகத்தை செயல்படுத்திய பின் ஒரு வகுப்பில் அப்புறப்படுத்துதல் () முறை செயல்படுத்தப்படுகிறது. இறுதி செய்யும் முறை () க்கு மட்டுமே செயல்படுத்தப்பட வேண்டும் நிர்வகிக்கப்படாத வளங்கள் ஏனெனில் நிர்வகிக்கப்பட்ட வளங்கள் குப்பை சேகரிப்பாளரால் தானாகவே விடுவிக்கப்படும்.
  5. ஐடிஸ்போசபிள் இடைமுகத்தில் வரையறுக்கப்பட்டுள்ளதால் () முறையின் அணுகல் விவரக்குறிப்பு பொதுவானது, மேலும் இந்த இடைமுகத்தை செயல்படுத்தும் வகுப்பால் இது செயல்படுத்தப்படும், எனவே அது பொதுவில் இருக்க வேண்டும். மறுபுறம், முறை இறுதி () அணுகல் விவரக்குறிப்பைப் பாதுகாத்துள்ளது, இதனால் அது வகுப்பிற்கு வெளியே உள்ள எந்த உறுப்பினருக்கும் அணுகக்கூடாது.
  6. () அகற்றும் முறை விரைவானது மற்றும் பொருளை உடனடியாக விடுவிக்கிறது, எனவே இது செயல்திறன் செலவை பாதிக்காது. இறுதி செய்யும் முறை () மெதுவாக உள்ளது மற்றும் பொருள் வைத்திருக்கும் வளங்களை உடனடியாக விடுவிக்காது.

தீர்மானம்:

இறுதி செய்வதை விட வேகமாக இருப்பதால் முறை இறுதி () முறையைப் பயன்படுத்துவதற்கு பரிந்துரைக்கப்படுகிறது. மேலும், எப்போது வேண்டுமானாலும் அதை அழைக்கலாம்.