स्थिर आणि डायनॅमिक बाइंडिंग दरम्यान फरक

लेखक: Laura McKinney
निर्मितीची तारीख: 1 एप्रिल 2021
अद्यतन तारीख: 1 जुलै 2024
Anonim
जावा साक्षात्कार 04 - स्टेटिक बाइंडिंग बनाम डायनेमिक बाइंडिंग
व्हिडिओ: जावा साक्षात्कार 04 - स्टेटिक बाइंडिंग बनाम डायनेमिक बाइंडिंग

सामग्री


‘फंक्शन कॉल’ किंवा ‘व्हेरिएबल’ ला ‘व्हॅल्यू’ असोसिएशनला ‘फंक्शन डेफिनेशन’ संबंधी बंधनकारक असोसिएशनला ‘बंधनकारक’ असे म्हणतात. संकलनादरम्यान, प्रत्येक ‘फंक्शन डेफिनेशन’ ला एक मेमरी पत्ता दिला जातो; फंक्शन कॉलिंग होताच प्रोग्राम एक्झिक्युशनचे नियंत्रण त्या मेमरी पत्त्यावर जाईल आणि त्या ठिकाणी फंक्शन कोड साठवून घ्या, ही ‘फंक्शन कॉल’ ला ‘फंक्शन डेफिनेशन’ ला बंधनकारक आहे. बाइंडिंगला ‘स्थिर बंधन’ आणि ‘डायनॅमिक बाइंडिंग’ म्हणून वर्गीकृत केले जाऊ शकते.

जर रनटाइमपूर्वी हे आधीच माहित असेल, तर कोणत्या फंक्शनची विनंती केली जाईल किंवा एखाद्या व्हेरिएबलला कोणते मूल्य दिले जाईल, तर ते एक ‘स्टॅन्डिक बाँडिंग’ आहे. जर रनटाइमवर हे कळले तर त्यास ‘डायनामिक बाइंडिंग’ असे म्हणतात.

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

तुलना चार्ट:

तुलना करण्यासाठी आधारस्थिर बंधनकारकडायनॅमिक बाइंडिंग
कार्यक्रम घटनाकंपाईल वेळेत घडणार्‍या कार्यक्रम म्हणजे "स्टॅटिक बाँडिंग".
धावण्याच्या वेळेस घडणार्‍या घटना म्हणजे “डायनॅमिक बाइंडिंग”.
माहितीफंक्शनला कॉल करण्यासाठी आवश्यक असलेली सर्व माहिती कंपाईल वेळेत ज्ञात आहे.फंक्शनला कॉल करणे आवश्यक आहे सर्व माहिती धावण्याच्या वेळेस.
फायदाकार्यक्षमतालवचिकता.
वेळजलद अंमलबजावणी.हळू अंमलबजावणी.
पर्यायी नावलवकर बंधनकारक.उशीरा बंधनकारक.
उदाहरणओव्हरलोड लोड फंक्शन कॉल, अतिभारित ऑपरेटरC ++ मधील व्हर्च्युअल फंक्शन, जावा मधील ओव्हरराइड पद्धती.

स्थिर बंधन व्याख्या

कंपाईलर जेव्हा कंपाईल वेळेत फंक्शन कॉल करण्यासाठी आवश्यक असलेल्या सर्व माहितीची किंवा व्हेरिएबल्सची सर्व व्हॅल्यूज कबूल करतो तेव्हा त्यास “स्थिर बंधनकारक“. सर्व आवश्यक माहिती रनटाइमच्या आधी ज्ञात असल्याने, यामुळे प्रोग्रामची कार्यक्षमता वाढते आणि प्रोग्रामच्या अंमलबजावणीची गती देखील वाढते.


स्टॅटिक बाईंडिंग एक प्रोग्राम अत्यंत कार्यक्षम करते, परंतु प्रोग्राममधील ‘व्हेरिएबलची व्हॅल्यूज’ आणि ‘फंक्शन कॉलिंग’ पूर्वनिर्धारित असल्याने हे प्रोग्रामची लवचिकता नाकारते. कोडिंगच्या वेळी प्रोग्राममध्ये स्टॅटिक बाइंडिंग लागू केली जाते.

फंक्शन किंवा ऑपरेटरला ओव्हरलोड करणे कंपाईल-टाइम पॉलिमॉर्फिझमचे म्हणजेच स्टॅटिक बाइंडिंगचे उदाहरण आहे.

ओव्हरलोडिंगच्या उदाहरणासह सी ++ मध्ये स्थिर बंधनकारक अंमलबजावणी

# समाविष्ट करा नेमस्पेस एसटीडी वापरणे; वर्ग ओव्हरलोड {इंट अ, बी; सार्वजनिक: इंट लोड (इंट एक्स) {// प्रथम लोड () फंक्शन. a = x; कॉट << "x ची व्हॅल्यू" <फंट (); // उपरोक्त विधान कोणत्या वर्गाचे फंक्शन चालू करावे हे ठरवते. पी = & डी 1; // पॉईंटर बदलते स्थान. पी-> फण्ट (); // उपरोक्त विधान कोणत्या वर्गाचे फंक्शन चालू करावे हे ठरवते. पी = & डी 2; // पॉईंटर मध्ये पुन्हा बदल. पी-> फण्ट (); // उपरोक्त विधान कोणत्या वर्गाचे फंक्शन चालू करावे हे ठरवते. रिटर्न 0; }

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


  1. कंपाईल वेळेत घडणा .्या घटना जसे की फंक्शन कोड एखाद्या फंक्शन कॉलशी किंवा व्हेरिएबलला व्हॅल्यू असाईनमेंटशी निगडित असतो, त्यांना स्टॅटीक / इलीर बाइंडिंग म्हणतात. उलटपक्षी जेव्हा ही कार्ये रनटाइम दरम्यान पूर्ण केली जातात तेव्हा त्यांना गतिमान / उशीरा बंधनकारक म्हणतात.
  2. अंमलबजावणीपूर्वी सर्व डेटा एकत्रित केल्याने स्थिर कार्यक्षेत्रात ‘कार्यक्षमता’ वाढते. परंतु डायनॅमिक बाइंडिंगमध्ये डेटा रनटाइमवर अधिग्रहित केला जातो जेणेकरुन व्हेरिएबल नेमण्यासाठी कोणते मूल्य द्यावे आणि रनटाइमवेळी कोणते फंक्शन आवाहन करायचे हे आम्ही ठरवू शकतो यामुळे अंमलबजावणी ‘लवचिक’ बनते.
  3. ‘स्टेटिक बाँडिंग’ प्रोग्रॅमची अंमलबजावणी ‘वेगवान’ करते कारण प्रोग्राम कार्यान्वित करण्यासाठी लागणारा सर्व डेटा अंमलबजावणीपूर्वी ज्ञात होता. प्रोग्राम कार्यान्वित करण्यासाठी आवश्यक असलेल्या ‘डायनॅमिक बाइंडिंग’ डेटा अंमलबजावणीच्या वेळी कंपाईलरला ओळखला जातो ज्यामुळे मूल्ये अभिज्ञापकांना बांधण्यासाठी वेळ लागतो; त्यामुळे प्रोग्रॅम एक्झिक्युशन हळू होते.
  4. स्टॅटिक बाईंडिंगला लवकर बाईंडिंग असेही म्हणतात कारण फंक्शन कोड कंपाईल वेळेत फंक्शन कॉलशी संबंधित असतो, जो डायनॅमिक बाईंडिंगच्या अगोदरचा असतो ज्यामध्ये फंक्शन कोड रनटाइम दरम्यान फंक्शन कॉलशी संबंधित असतो म्हणून त्याला लेट बाईंडिंग देखील म्हणतात.

निष्कर्ष:

तथापि, आम्ही असा निष्कर्ष काढतो की जेव्हा आम्हाला व्हेरिएबल आणि फंक्शन कॉलिंगच्या मूल्यांचे पूर्वज्ञान असते तेव्हा आम्ही स्थिर बंधन लागू करतो. उलट, डायनॅमिक बाइंडिंगमध्ये आम्ही अंमलबजावणीच्या वेळी सर्व माहिती प्रदान करतो.