जावा शून्य विधियाँ स्पष्ट रूप से इसे वापस कर रही हैं


20

"इस" प्रकार को वापस करने वाले सेटर के तरीकों के बारे में SO पर कुछ चर्चा होती है। और ऐसा लगता है कि जावा 7 में इसे वापस करने के शून्य तरीकों का प्रस्ताव था। लेकिन यह प्रस्ताव जावा 7 सुविधाओं के लिए नहीं बन सका। मुझे पता नहीं चला कि क्या यह प्रस्ताव जावा 8 या भविष्य में ले जाया गया है या पूरी तरह से खारिज कर दिया गया है। क्या यह?

रेफरी लिंक - /programming/31584/design-java-and-returning-self-reference-in-setter-methods


3
प्रश्न में आपके द्वारा बताई गई चर्चा के कुछ लिंक होने के लिए यह आभारी होगा, ताकि यह दूसरों के लिए उपयोगी हो और उन्हें प्रश्न को और अधिक समझने में मदद मिले।
ManuPK

मेरे प्रश्न का संपादन किया
तरुण

जवाबों:


11

मुझे लगता है कि किसी भी स्रोत को खोजने के लिए प्रतीत नहीं कर सकते हैं, लेकिन मेरा मानना ​​है कि यह सुविधा पूरी तरह से गिरा दिया गया था। ऐसे कई कारण हैं जिनके बारे में मैं सोच सकता हूं:

  • प्रदर्शन - प्रत्येक voidविधि में अब एक अतिरिक्त रिटर्न ओपकोड है और हर जगह जहां इस पद्धति को आवश्यक्ता कहा जाता है, popजब तक कि यह वास्तव में विधि जंजीर का उपयोग नहीं करता है

  • पिछड़ी संगतता - इस सुविधा के खिलाफ संकलन अचानक कोड को असंगत बना देता है क्योंकि हर voidविधि का अनुबंध बदल गया है

बेशक इसे कंपाइलर ( कॉलिंग मेथड ऑन void! आप शायद इसका मतलब thisयह बता सकते हैं) द्वारा लागू किया जा सकता है , पता नहीं इस दृष्टिकोण के क्या नुकसान हैं।


1
कंपाइलर को इस सुविधा का समर्थन करना होगा (इसलिए कॉलिंग कोड संकलित किया जाएगा) और यह कॉल की गई विधि को बदल सकता है और कॉलिंग विधि के बिना इसे फिर से उपयोग कर सकता है।
पीटर लॉरी

इस प्रकृति के OpenJDK की विशेषताएं अब JDK एन्हांसमेंट प्रपोजल (JEP) के रूप में नियंत्रित की जाती हैं और वास्तव में यह अब सूचीबद्ध नहीं है (और मैंने इसे कुछ समय में चर्चा नहीं देखा है)।
मार्टिग्न वर्बर्ग

3

मुझे नहीं लगता कि यह प्रोजेक्ट कॉइन के 2009 के अवतार के लिए औपचारिक रूप से प्रस्तावित था। यह पृष्ठ सभी प्रस्तावों को सूचीबद्ध करने का उद्देश्य रखता है, और मैं उस एक को नहीं देख सकता जो मेल खाता है।

यदि यह प्रस्तावित नहीं होता, तो इस पर विचार नहीं किया जाता।

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