क्या आपको किसी विधि में सदस्य चर के संदर्भ में "this.variablename" या सिर्फ "variablename" का उपयोग करना चाहिए?इसका उपयोग कर रहे हैं?
उत्तर
आप जो भी चाहें उसका अधिकांश उपयोग कर सकते हैं। यदि आपके विधि पैरामीटर या स्थानीय चर के समान नाम हैं तो आपको आवृत्ति चर को अलग करने के लिए this
का उपयोग करना होगा। निरतंरता बनाए रखें!
आप या तो कर सकते हैं, यह सिर्फ स्वाद का मामला है, लेकिन मैंने देखा है कि बहुत सारे जावा कोड "यह" उपयोग करते हैं। क्योंकि विधि के तर्कों को सदस्य क्षेत्र के रूप में कई बार नामित किया जाता है।
आप तर्क दे सकते हैं कि "यह" का उपयोग कर। पठनीयता में भी मदद करता है, क्योंकि आप तुरंत जानते हैं कि यह एक सदस्य है, लेकिन आप यह भी तर्क दे सकते हैं कि "यह।" पठनीयता को दर्द होता है, क्योंकि यह सिर्फ एक अपरिपक्व शब्द है।
मैं केवल this.
दो परिस्थितियों में उपयोग करें:
- एक सेटर में उदाहरण के लिए क्षेत्र और इसी नाम की एक स्थानीय को स्पष्ट करने के लिए,;
- जब मेरी विधि में
that
पैरामीटर है, क्योंकिthis
औरthat
अच्छा पठनीय कोड के लिए बनाते हैं।
ओह, जावा के लिए नया हूँ, और अभी तक "उस" तक नहीं पहुंचा है। पहले से जानना अच्छा लगेगा कि मुझे अपनी पुस्तक में क्या मिलेगा :) – ajsie
आपको शायद यह पुस्तक में नहीं मिलेगा - यह एक ही कक्षा के किसी अन्य ऑब्जेक्ट के साथ काम करते समय उपयोग करने के लिए बस एक अच्छा पैरामीटर नाम है। जैसे, कहें, प्वाइंट क्लास में विधि दूरी हो सकती है (प्वाइंट कि)। फिर "this.x - that.x" घटाना "x - that.x" की तुलना में मेरे लिए अच्छा लगता है। –
@ करल - 'dest' या 'गंतव्य' बेहतर नाम नहीं होगा? – Robin
पैरामीटर वैरिएबल उपयोग "यह" का उपयोग करने के लिए बस परिवर्तनीय नाम ठीक है &।
this.
का उपयोग करें - यह अन्य प्रोग्रामर को सदस्य क्षेत्रों के उपयोग की दृष्टि से पहचान करने में मदद करता है, और रीफैक्टरिंग को आसान बनाता है (उदाहरण के लिए किसी अन्य वर्ग में किसी विधि को स्थानांतरित करने पर विचार करते समय)।
मैं भाषा में प्रोग्रामिंग करते समय भाषा सुविधाओं का उपयोग करने का प्रशंसक हूं। इस प्रकार, मैं "यह" का उपयोग करने के खिलाफ सिफारिश करेंगे। एक इंस्टेंस वैरिएबल पर जब तक कि उसे उसी विधि पर टकराने वाले विधि पैरामीटर से अलग करने की आवश्यकता न हो।
- 1. क्या आप बिज़टॉक का उपयोग कर रहे हैं? यदि हां, तो आप इसका उपयोग कैसे कर रहे हैं?
- 2. Roslyn SyntaxNodes पुन: उपयोग कर रहे हैं?
- 3. गहराई से घोंसला रेल का उपयोग कर रहे हैं काम नहीं कर रहे हैं?
- 4. COM का उपयोग कर एक सरणी पास कर रहे हैं?
- 5. जेपीए का उपयोग कर एकल मूल्य पुनर्प्राप्त कर रहे हैं?
- 6. पृष्ठों के बीच websockets का उपयोग कर रहे हैं?
- 7. सर्च कर रहे हैं एल्गोरिथ्म
- 8. प्रतिबिंब। हम इसका उपयोग करके क्या हासिल कर सकते हैं?
- 9. इफ्रेम काम नहीं कर रहे हैं
- 10. क्या makefiles कर रहे हैं - स्थापित कर
- 11. डमीज़ के लिए मजाक कर रहे हैं?
- 12. फोनगैप लिंक काम नहीं कर रहे हैं
- 13. $ _FILES काम नहीं कर रहे हैं?
- 14. क्या आप ईवेंट स्ट्रीमिंग उत्पादों का उपयोग कर रहे हैं?
- 15. @RequestBody और @ModelAttribute का एक साथ उपयोग कर रहे हैं?
- 16. आप किस कोड मेट्रिक्स \ guidline का उपयोग कर रहे हैं?
- 17. क्या आप माइक्रोसॉफ्ट एंटरप्राइज़ लाइब्रेरी का उपयोग कर रहे हैं?
- 18. क्या जीयूआई लाइब्रेरी जेटब्रेन का उपयोग कर रहे हैं?
- 19. लॉग क्वेरी इंडेक्स का उपयोग नहीं कर रहे हैं - MySQL
- 20. लोग यमन का उपयोग कैसे कर रहे हैं?
- 21. कौन सी आईडीई सीएलआईएसपी प्रोग्रामर का उपयोग कर रहे हैं?
- 22. रेज़र पूछता है; जब उपयोग कर रहे हैं (Html.BeginForm())
- 23. Boost.MultiIndex: एकाधिक फ़ील्ड का उपयोग कर तत्व खोज रहे हैं
- 24. हम jQuery में "({})" का उपयोग क्यों कर रहे हैं?
- 25. छुपा तरीकों के दौरान "नया" क्यों उपयोग कर रहे हैं?
- 26. क्या आप समांतर एक्सटेंशन का उपयोग कर रहे हैं?
- 27. सीपीयू रजिस्टरों का उपयोग क्यों तेजी से कर रहे हैं?
- 28. % temp% आदि काम नहीं कर रहे हैं
- 29. File_get_contents काम नहीं कर रहे हैं?
- 30. सर्च कर रहे हैं दो तालिकाओं
या एक स्थानीय चर (कम आम)। यदि आपके पास स्थानीय वर्ग है, तो यह एक गड़बड़ है। –