जावा में रिटर्न प्रकार ओवरलोडिंग: एक असंगतता
जावा की बहुमुखी क्षमताओं के बावजूद, जब ओवरलोडिंग कार्यों की बात आती है तो भाषा एक प्रतिबंध लगाती है केवल रिटर्न प्रकार को बदलकर। इससे एक सामान्य प्रश्न खड़ा हो गया है: जावा ऐसी ओवरलोडिंग पर रोक क्यों लगाता है?
इसका उत्तर ओवरलोडिंग की मूल प्रकृति में निहित है। ओवरलोडिंग एक ही नाम के कई कार्यों को एक वर्ग के भीतर सह-अस्तित्व में रखने की अनुमति देता है, जो उनके पैरामीटर हस्ताक्षरों द्वारा अलग होते हैं। हालाँकि, जब विभेदन के लिए रिटर्न प्रकार का भी उपयोग किया जाता है, तो अस्पष्टता उत्पन्न होती है। निम्नलिखित कोड पर विचार करें:
public int foo() {...}
public float foo() {...}
यदि दोनों foo विधियों को सह-अस्तित्व की अनुमति दी गई थी, तो कथन foo() का सामना करते समय कंपाइलर को दुविधा का सामना करना पड़ेगा। अकेले रिटर्न प्रकार के साथ, यह निर्धारित करना असंभव होगा कि किस फ़ंक्शन को लागू किया जाए। यह अस्पष्टता प्राथमिक कारण है कि जावा रिटर्न प्रकार के आधार पर ओवरलोडिंग की अनुमति नहीं देता है।
यह सीमा एक अन्य लोकप्रिय प्रोग्रामिंग भाषा सी तक फैली हुई है। जावा और सी दोनों में, रिटर्न प्रकार फ़ंक्शन हस्ताक्षर में एक आवश्यक भूमिका निभाता है, जो फ़ंक्शन के व्यवहार के समापन बिंदु के रूप में कार्य करता है। इसे बदलने से फ़ंक्शन के शब्दार्थ पर सीधा प्रभाव पड़ेगा, जिससे ओवरलोडिंग की अवधारणा अस्थिर हो जाएगी।
प्रोग्रामिंग भाषा डिज़ाइन में चल रही प्रगति के बावजूद, जावा या सी में इस तरह के ओवरलोडिंग को पेश करने के लिए कोई ठोस योजना मौजूद नहीं है। वर्तमान दृष्टिकोण स्पष्टता बनाए रखता है और कोड निष्पादन के दौरान संभावित गलतफहमियों को हतोत्साहित करता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3