इन्स्टन्स व्हेरिएबल आणि लोकल वेरिएबल दरम्यान फरक

Anonim

इन्स्टन्स व्हेरिएबल बनाम लोकल व्हेरिएबल

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

एक अस्थिर व्हेरिएबल म्हणजे काय?

क्लासमध्ये प्रत्येक ऑब्जेक्टची स्थिती संचयित करण्यासाठी ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंगमध्ये इन्स्टन्स व्हेरिएबल्सचा वापर केला जातो. ते सदस्य variables किंवा field variables देखील म्हणून ओळखले जातात. जावा मधील स्थिर कीवर्ड वापरल्याशिवाय इन्स्टन्स व्हेरिएबल्स घोषित केली जातात. इंप्रेशन व्हेरिएबल्समध्ये संचित मूल्ये प्रत्येक ऑब्जेक्टसाठी अद्वितीय आहेत (प्रत्येक ऑब्जेक्टची एक वेगळी कॉपी असते) आणि त्यातील साठवलेली मूल्ये त्या ऑब्जेक्टची स्थिती दर्शवते. एका वस्तूसाठी स्पेससाठी हेपमध्ये वाटप केले जाते, जेव्हा त्या वस्तूला ढीगांमध्ये वाटप केले जाते. म्हणून ऑब्जेक्ट लाइव्ह आहे तोपर्यंत इन्स्टन्स व्हेरिएबल्स मेमरीमध्ये ठेवतात. उदाहरणार्थ, एका कारचा रंग दुसर्या कारच्या रंगापासून स्वतंत्र आहे तर कार ऑब्जेक्टचा रंग एका इन्स्टेशेशन व्हेरिएबलमध्ये संग्रहित केला जाऊ शकतो. सराव मध्ये, आकृती व्हेरिएबल्स क्लासेसमध्ये आणि बाहेरच्या पद्धतींमध्ये घोषित केल्या जातात. सर्वसाधारणपणे, उदाहरणार्थ व्हेरिएबल्स ही प्रायव्हेट म्हणून घोषित केली जातात, जेणेकरून ते घोषित केल्या जाणाऱ्या वर्गामध्येच प्रवेश करू शकतील.

लोकल व्हॅरेबल म्हणजे काय?

लोकल व्हेरिएबल्स वेरियेबल्स आहेत ज्यात स्थानिक क्षेत्र आहे आणि ते एका विशिष्ट कोड ब्लॉकमध्ये घोषित केले जातात. लोकल व्हेरिएबल्स ही व्हेरिएबल्स म्हणून पाहिली जाऊ शकतात, ज्याचा वापर तात्पुरती स्थिती साठवण्यासाठी केला जातो. लोकल व्हेरिएबलची व्याप्ती निर्धारित केली जाते की वेरिएबल घोषित केलेल्या स्थानाचा वापर करून, आणि या उद्देशासाठी विशेष कीवर्ड वापरला जात नाही. थोडक्यात, स्थानिक वेरीएबलचा प्रवेश कोड ब्लॉकमध्ये मर्यादित असतो जो तो घोषित केला जातो (ii हा कोड ब्लॉकच्या उघडण्यातील आणि बंद होतानाच्या चौकटीच्या दरम्यान). लोकल व्हेरिएबल्स विशेषतः कॉल स्टॅकमध्ये संग्रहित केल्या जातात. हे पुनरावर्ती फंक्शन कॉलला त्यांच्या स्थानिक प्रतिलिपींच्या स्वतंत्र प्रतिलिपी राखण्याची परवानगी देते जेणेकरुन ते वेगवेगळ्या मेमरी अॅड्रेस स्पेसेसमध्ये संग्रहित होतील. जेव्हा पद्धत त्याचे अंमलबजावणी पूर्ण करते, तेव्हा त्या पद्धतीबद्दलची माहिती कॉल स्टॅकमधून पॉप आउट होते, तसेच साठवलेल्या स्थानिक व्हेरिएबलचा देखील नाश होतो.

इन्टन्स वेरिएबल आणि लोकल वेरिएबलमध्ये काय फरक आहे?

संक्षेप व्हेरिएबल्स बाहेरच्या पद्धतींमध्ये घोषित केले जातात, आणि ते ऑब्जेक्टची स्थिती संचयित करतात, तर स्थानिक व्हेरिएबल्स कोड ब्लॉक्समध्ये घोषित केले जातात आणि त्यांचा वापर एका पद्धतीची स्थिती साठवण्यासाठी केला जातो.एक वेरियेबल लाइव्ह असलेला ऑब्जेक्ट जोपर्यंत लोकल व्हेरिएबल लाइबन्स करतो त्या पद्धतीने / कोड ब्लॉकच्या अंमलबजावणीदरम्यान लाइव्ह करताना एक इन्स्टीटेशियल व्हेरिएबल लाइव्ह आहे. एक उदाहरण वेरियेबल (ज्यास सार्वजनिक घोषित केले जाते) वर्गात प्रवेश करता येते, तर एक स्थानिक वेरियेबल केवळ तो कोड घोषित केला जाऊ शकतो जो तो घोषित केला जातो. उदाहरणार्थ व्हेरिएबल्सचा वापर फक्त ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंगपर्यंत मर्यादित आहे, तर लोकल व्हेरिएबल्समध्ये अशी मर्यादा नाही.