सी # मध्ये डिस्पोजल () आणि अंतिम करणे () दरम्यान फरक

लेखक: Laura McKinney
निर्मितीची तारीख: 2 एप्रिल 2021
अद्यतन तारीख: 13 मे 2024
Anonim
Вокруг неё все умирают ► 1 Прохождение A Plague Tale: innocence
व्हिडिओ: Вокруг неё все умирают ► 1 Прохождение A Plague Tale: innocence

सामग्री


पद्धती विल्हेवाट लावणे () आणि अंतिम करणे () ही सी # च्या पद्धती आहेत जी एखाद्या ऑब्जेक्टद्वारे असुरक्षित संसाधनांना मुक्त करण्यासाठी विनंती करतात. डिस्पोजेड () पद्धत इंटरफेस आयडीस्पोजेबल मध्ये परिभाषित केली जाते, तर मेथड फायनलाइज () क्लास ऑब्जेक्टमध्ये परिभाषित केली जाते. डिस्पोजल () आणि अंतिम करणे () दरम्यानचा मुख्य फरक म्हणजे ती पद्धत विल्हेवाट लावणे() वापरकर्त्याने स्पष्टपणे मागितली पाहिजे अंतिम () कचरा गोळा करणार्‍याद्वारे ऑब्जेक्ट नष्ट होण्यापूर्वीच. खाली दर्शविलेले तुलना चार्टच्या मदतीने आम्ही त्यांच्यामधील काही इतर फरकांचा अभ्यास करूया.

  1. तुलना चार्ट
  2. व्याख्या
  3. मुख्य फरक
  4. निष्कर्ष

तुलना चार्ट

तुलनासाठी आधारविल्हेवाट लावणे ()अंतिम ()
परिभाषितआयडीस्पोजेबल इंटरफेस इंटरफेसमध्ये डिस्पोज (पद्धत) ची व्याख्या केली जाते.Java.lang.object वर्गात परिभाषित केलेली पद्धत अंतिम () आयडी.
मांडणीसार्वजनिक शून्य विल्हेवाट लावणे () {
// येथे कोड विल्हेवाट लावा
}
संरक्षित शून्य अंतिम () {
// अंतिमकरण कोड येथे
}
विनंती केली विल्हेवाट लावण्याची पद्धत () वापरकर्त्याद्वारे वापरली जाते.कचरा गोळा करणार्‍याने पद्धत अंतिम केली ().
हेतूमेथड डिस्पोजेट () चा वापर केला जातो तेव्हा ती व्यवस्थापित नसलेली संसाधने मुक्त करण्यासाठी वापरली जाते.ऑब्जेक्ट नष्ट होण्यापूर्वी व्यवस्थापित संसाधने मुक्त करण्यासाठी मेथड फायनलाइझ () चा वापर केला जातो.
अंमलबजावणीजेव्हा कोणतीही जवळून () पद्धत असेल तेव्हा विल्हेवाट लावण्याची पद्धत () लागू केली जाते.व्यवस्थापित संसाधनांसाठी पद्धत अंतिम () अंमलात आणली जाणार आहे.
प्रवेश तपशीलविल्हेवाट लावण्याची पद्धत () सार्वजनिक म्हणून घोषित केली जाते.पद्धत अंतिम () खासगी म्हणून घोषित केली आहे.
कृती पद्धत विल्हेवाट लावणे () वेगवान आहे आणि त्वरित ऑब्जेक्टची विल्हेवाट लावते.विल्हेवाट लावण्याच्या तुलनेत पद्धत अंतिम करणे धीमे आहे
कामगिरीपद्धत विल्हेवाट लावते () त्वरित क्रिया करते, वेबसाइटच्या कामगिरीवर परिणाम करत नाही. पद्धत अंतिम () हळु होण्यामुळे वेबसाइटच्या कार्यक्षमतेवर परिणाम होतो.


विल्हेवाट लावण्याची व्याख्या ()

विल्हेवाट लावण्याची () पद्धत वर्गाच्या ऑब्जेक्टद्वारे असणारी अप्रबंधित संसाधने सोडते. अप्रबंधित संसाधने फायली, डेटा कनेक्शन इ. असतात. पद्धत विल्हेवाट () इंटरफेसमध्ये घोषित केले जाते ओळखण्यायोग्य आणि हे वर्गाद्वारे इंटरफेस आयडीस्पोजेबलची अंमलबजावणी करून अंमलात आणले जाते. या पद्धतीस आपोआप म्हटले जात नाही. जेव्हा आपण एखादा सानुकूल वर्ग तयार करत असाल तेव्हा प्रोग्रामरला तो व्यक्तिचलितपणे अंमलात आणायचा असेल जो इतरांकडून वापरला जाईल. पद्धतीमध्ये खालील वाक्यरचना आहे:

सार्वजनिक शून्य विल्हेवाट लावा () {// येथे कोड विल्हेवाट लावा}

वरील वाक्यरचना मध्ये, आपण हे पाहू शकता की पद्धत सार्वजनिक घोषित केली आहे. कारण ही पद्धत इंटरफेस आयडीस्पोजेबलमध्ये परिभाषित केली गेली आहे आणि ही इंटरफेस कार्यान्वित करणार्या वर्गाद्वारे अंमलात आणली जावी. तर, अंमलबजावणी करणार्‍या वर्गास प्रवेश मिळविण्यासाठी ही पद्धत सार्वजनिक घोषित केली आहे.

ही पद्धत प्रोग्रामच्या कोडद्वारे स्वहस्ते विनंती केली जाते कारण विनंती करण्याची अंमलबजावणी केली जाते. पद्धतींची कार्यक्षमता वेगवान आहे आणि हे वर्गाच्या ऑब्जेक्टद्वारे ठेवलेली संसाधने त्वरित मुक्त करते.


अंतिम परिभाषा ()

अंतिम () पद्धत मध्ये परिभाषित केली आहे ऑब्जेक्ट वर्ग याचा वापर स्वच्छता उपक्रमांसाठी केला जातो. जेव्हा एखाद्या वस्तूचा संदर्भ बराच काळ वापरला जात नाही तेव्हा कचरा गोळा करणार्‍याने ही पद्धत म्हटले जाते. कचरा गोळा करणारा व्यवस्थापित स्त्रोत स्वयंचलितपणे मुक्त करतो परंतु आपणास फाइल हँडल, डेटा कनेक्शन इत्यादी व्यवस्थापित संसाधने मोकळे करायच्या असतील तर अंतिम पद्धत स्वहस्ते लागू करावी लागेल. कचरा गोळा करणार्‍याने ऑब्जेक्टचा पूर्णपणे नाश करण्याच्या आधी मेथड फायनल () ची विनंती केली आहे.

पद्धतीचा वाक्यरचना अंतिम ():

संरक्षित शून्य अंतिम () {// येथे अंतिमकरण कोड}

वरील वाक्यरचना मध्ये, पद्धत अंतिम () संरक्षित म्हणून घोषित केली आहे. यामागील कारण म्हणजे, पद्धत अंतिम () वर्गाच्या बाहेरून प्रवेश करण्यायोग्य नसावी आणि ते केवळ कचरा गोळा करणार्‍यांनाच उपलब्ध असणे आवश्यक आहे.

अंतिम () पद्धत कार्यक्षमतेच्या किंमतीवर परिणाम करते कारण ती त्वरित मेमरी मुक्त करत नाही. सी # मध्ये अंतिम प्रक्रिया विध्वंसकांसह स्वयंचलितपणे म्हणतात.

  1. इंटरफेसमध्ये डिस्पोजेटी (पद्धत) ची व्याख्या केली जाते ओळखण्यायोग्य. दुसरीकडे, पद्धत अंतिम () वर्गात परिभाषित केली जाते ऑब्जेक्ट.
  2. कोड डिस्पोजेटी () प्रोग्रामरद्वारे व्यक्तिचलितरित्या कोडच्या आत आवाहन करणे आवश्यक असते, परंतु मेथड फायनल केल्यावर कचरा गोळा करणार्‍याद्वारे ऑब्जेक्ट नष्ट होण्यापूर्वी स्वयंचलितरित्या विनंती केली जाते.
  3. पध्दतीची विल्हेवाट केव्हाही वापरता येऊ शकते, परंतु कचरा गोळा करणार्‍याद्वारे जेव्हा या गोष्टीचा बराच काळ संदर्भ घेतलेला आढळला नाही तेव्हा ही पद्धत अंतिम केली जाते.
  4. इंटरफेस आयडेस्पोजेबलची अंमलबजावणी केल्यानंतर वर्गात डिस्पोजेड (मेथड डिस्पोज ()) पद्धत लागू केली जाते. पद्धत अंतिम () फक्त लागू केली पाहिजे अप्रबंधित संसाधने कारण व्यवस्थापित स्त्रोत कचरा गोळा करणार्‍याद्वारे आपोआप मोकळा होतात.
  5. डिस्पोजल पद्धतीचा Theक्सेस स्पेसिफायर () isक्सेस स्पेसिफायर सार्वजनिक आहे कारण तो इंटरफेस आयडीस्पोजेबल मध्ये परिभाषित केला गेला आहे आणि ज्याद्वारे हा इंटरफेस लागू करतो तो वर्ग लागू करेल, तो सार्वजनिक असावा. दुसरीकडे, पद्धत अंतिम () ने specifक्सेस स्पेसिफायर संरक्षित केले आहे जेणेकरून ते वर्गाच्या बाहेरील कोणत्याही सदस्यास प्रवेशयोग्य नसेल.
  6. पद्धत विल्हेवाट लावणे () वेगवान आहे आणि त्वरित ऑब्जेक्टला मुक्त करते, यामुळे कामगिरीच्या खर्चावर परिणाम होत नाही. पद्धत अंतिम () हळू आहे आणि ऑब्जेक्टद्वारे ठेवलेली संसाधने त्वरित मुक्त करीत नाही.

निष्कर्ष:

ते अंतिम करण्यापेक्षा वेगवान असल्याने मेथड डिस्पोजल () मेथड फायनलईझ () वर वापरण्याचा सल्ला दिला जातो. तसेच, जेव्हा गरज असेल तेव्हा ते कधीही कॉल केले जाऊ शकते.