स्थिर आणि डायनॅमिक बाइंडिंग दरम्यान फरक
![जावा साक्षात्कार 04 - स्टेटिक बाइंडिंग बनाम डायनेमिक बाइंडिंग](https://i.ytimg.com/vi/W6s7RZo06nA/hqdefault.jpg)
सामग्री
- तुलना चार्ट:
- स्थिर बंधन व्याख्या
- ओव्हरलोडिंगच्या उदाहरणासह सी ++ मध्ये स्थिर बंधनकारक अंमलबजावणी
- निष्कर्ष:
‘फंक्शन कॉल’ किंवा ‘व्हेरिएबल’ ला ‘व्हॅल्यू’ असोसिएशनला ‘फंक्शन डेफिनेशन’ संबंधी बंधनकारक असोसिएशनला ‘बंधनकारक’ असे म्हणतात. संकलनादरम्यान, प्रत्येक ‘फंक्शन डेफिनेशन’ ला एक मेमरी पत्ता दिला जातो; फंक्शन कॉलिंग होताच प्रोग्राम एक्झिक्युशनचे नियंत्रण त्या मेमरी पत्त्यावर जाईल आणि त्या ठिकाणी फंक्शन कोड साठवून घ्या, ही ‘फंक्शन कॉल’ ला ‘फंक्शन डेफिनेशन’ ला बंधनकारक आहे. बाइंडिंगला ‘स्थिर बंधन’ आणि ‘डायनॅमिक बाइंडिंग’ म्हणून वर्गीकृत केले जाऊ शकते.
जर रनटाइमपूर्वी हे आधीच माहित असेल, तर कोणत्या फंक्शनची विनंती केली जाईल किंवा एखाद्या व्हेरिएबलला कोणते मूल्य दिले जाईल, तर ते एक ‘स्टॅन्डिक बाँडिंग’ आहे. जर रनटाइमवर हे कळले तर त्यास ‘डायनामिक बाइंडिंग’ असे म्हणतात.
- तुलना चार्ट
- व्याख्या
- मुख्य फरक
- निष्कर्ष
तुलना चार्ट:
तुलना करण्यासाठी आधार | स्थिर बंधनकारक | डायनॅमिक बाइंडिंग |
---|---|---|
कार्यक्रम घटना | कंपाईल वेळेत घडणार्या कार्यक्रम म्हणजे "स्टॅटिक बाँडिंग". | धावण्याच्या वेळेस घडणार्या घटना म्हणजे “डायनॅमिक बाइंडिंग”. |
माहिती | फंक्शनला कॉल करण्यासाठी आवश्यक असलेली सर्व माहिती कंपाईल वेळेत ज्ञात आहे. | फंक्शनला कॉल करणे आवश्यक आहे सर्व माहिती धावण्याच्या वेळेस. |
फायदा | कार्यक्षमता | लवचिकता. |
वेळ | जलद अंमलबजावणी. | हळू अंमलबजावणी. |
पर्यायी नाव | लवकर बंधनकारक. | उशीरा बंधनकारक. |
उदाहरण | ओव्हरलोड लोड फंक्शन कॉल, अतिभारित ऑपरेटर | C ++ मधील व्हर्च्युअल फंक्शन, जावा मधील ओव्हरराइड पद्धती. |
स्थिर बंधन व्याख्या
कंपाईलर जेव्हा कंपाईल वेळेत फंक्शन कॉल करण्यासाठी आवश्यक असलेल्या सर्व माहितीची किंवा व्हेरिएबल्सची सर्व व्हॅल्यूज कबूल करतो तेव्हा त्यास “स्थिर बंधनकारक“. सर्व आवश्यक माहिती रनटाइमच्या आधी ज्ञात असल्याने, यामुळे प्रोग्रामची कार्यक्षमता वाढते आणि प्रोग्रामच्या अंमलबजावणीची गती देखील वाढते.
स्टॅटिक बाईंडिंग एक प्रोग्राम अत्यंत कार्यक्षम करते, परंतु प्रोग्राममधील ‘व्हेरिएबलची व्हॅल्यूज’ आणि ‘फंक्शन कॉलिंग’ पूर्वनिर्धारित असल्याने हे प्रोग्रामची लवचिकता नाकारते. कोडिंगच्या वेळी प्रोग्राममध्ये स्टॅटिक बाइंडिंग लागू केली जाते.
फंक्शन किंवा ऑपरेटरला ओव्हरलोड करणे कंपाईल-टाइम पॉलिमॉर्फिझमचे म्हणजेच स्टॅटिक बाइंडिंगचे उदाहरण आहे.
ओव्हरलोडिंगच्या उदाहरणासह सी ++ मध्ये स्थिर बंधनकारक अंमलबजावणी
# समाविष्ट करा प्रोग्राम अंमलात असताना पॉईंटरचे मूल्य बदलते आणि पॉईंटरचे मूल्य कोणत्या वर्गाचे फंक्शन समाविष्ट केले जाईल ते ठरवते. येथे, माहिती धावण्याच्या वेळेस प्रदान केली गेली आहे, अंमलबजावणीची गती कमी करणार्या डेटाशी बांधण्यास वेळ लागतो. तथापि, आम्ही असा निष्कर्ष काढतो की जेव्हा आम्हाला व्हेरिएबल आणि फंक्शन कॉलिंगच्या मूल्यांचे पूर्वज्ञान असते तेव्हा आम्ही स्थिर बंधन लागू करतो. उलट, डायनॅमिक बाइंडिंगमध्ये आम्ही अंमलबजावणीच्या वेळी सर्व माहिती प्रदान करतो.
निष्कर्ष: