मल्टीपल डिस्पैच बनाम फंक्शन ओवरलोडिंग


14

मैं दोनों के बीच अंतर (यदि कोई हो) को समझने की कोशिश कर रहा हूं।

मल्टीपल डिस्पैच के लिए विकिपीडिया पृष्ठ के अनुसार यह फंक्शन ओवरलोडिंग का पर्याय है, लेकिन फिर बाद में यह कहता है:

केवल एकल प्रेषण वाली भाषा में, जैसे कि जावा […]

जो कि एक विरोधाभास की तरह लगता है, क्योंकि जावा फंक्शन ओवरलोडिंग का समर्थन करता है।

तो कौन सा है? क्या मल्टीपल डिस्पैच फ़ंक्शन ओवरलोडिंग से अलग है, या यह दावा करने में लेख गलत है कि जावा मल्टीएबल डिस्पैच का समर्थन नहीं करता है?

जवाबों:


16

मल्टीपल डिस्पैच फ़ंक्शन ओवरलोडिंग के समान (हमेशा) समान नहीं होता है, हालांकि वे कुछ समानताएं सहन करते हैं। और जावा कई प्रेषण का समर्थन नहीं करता है।

जावा सहित सांख्यिकीय रूप से टाइप की गई भाषाओं में, प्रेषण और ओवरलोडिंग के बीच सबसे बड़ा अंतर यह है कि अधिभार स्थैतिक प्रकार के मापदंडों पर आधारित होता है (अर्थात जिस विधि को वास्तव में कहा जाता है वह संकलन-समय निर्धारित किया जाता है), जबकि प्रेषण गतिशील पर आधारित है प्रकार (यानी निर्णय रनटाइम किया जाता है)। (ऐसी भाषाएँ आमतौर पर कई प्रेषण का समर्थन नहीं करती हैं।)

लेकिन फिर, यह शब्दावली का सवाल हो सकता है। गतिशील रूप से टाइप की गई भाषाओं में, प्रेषण और ओवरलोडिंग वास्तव में एक ही चीज़ को उबालते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.