javascript - Examples of cases where using private variable/methods in oop languages is useful/necessary -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 7 जवाब
  • जब भी मैं इस प्रश्न की खोज करने की कोशिश करता हूं तो आम तौर पर प्रस्तुत उत्तर "तर्ज पर होता है" इसलिए बाहर की दुनिया के पास स्थानीय तक सीधी पहुंच नहीं होती है। चर।" जो मेरे लिए यहां याद आ रही है वह संदर्भ है जिसके लिए यह लागू होता है। उदाहरण के लिए, मुझे नीचे दिए गए कोड में
      फ़ंक्शन व्यक्ति (प्रथम नाम, अंतिम नाम) मिलता है {var _firstName = firstname, _lastName = lastName; This.firstName = फ़ंक्शन (मान) {if (! Arguments.length) वापस _firstName; _firstName = मान; }};   

    चर को निजी माना जाता है क्योंकि वे केवल कार्यों को कॉल करने से एक्सेस कर सकते हैं इस का क्या महत्व है? इससे क्या फर्क पड़ता है? और सबसे नुकीला रहस्यमय है जो एक "वास्तविक जीवन" स्थिति है जिसमें "सामान्य रूप से बाहर की दुनिया के स्थानीय चर तक सीधे पहुंच नहीं है ..." का सामान्य विवरण होता है जो किसी स्थिति को नहीं देखा है जहां यह मायने रखता है।

    धन्यवाद SO।

    यह विकास को कम करने के लिए है। < / P>

    केवल सार्वजनिक गुण या ऑब्जेक्ट्स के तरीकों "बाहरी कोड" के लिए सुलभ हैं, अर्थात किसी भी ऑब्जेक्ट का उपयोग करने वाला कोई भी कोड, इसकी प्रॉपर्टी एक्सेस करता है या इसके तरीके कॉल करता है केवल ऑब्जेक्ट के सार्वजनिक इंटरफेस का इस्तेमाल कर सकता है। जब कोड किसी भी तरह से सार्वजनिक इंटरफ़ेस का उपयोग करता है, तो आपको कोड युग्मन मिलता है जब आप अपने ऑब्जेक्ट / क्लास पर एक विधि foo घोषित करते हैं, और आपके कोड में कहीं भी obj.foo () है, तो कोड की वह पंक्ति अब अस्तित्व में है foo विधि यदि आप foo पद्धति को निकालना या बदलना चाहते हैं, तो आपको (संभवत:) को कॉल करने वाली प्रत्येक पंक्ति को भी बदलना होगा।

    संरक्षित और निजी गुण और विधियां हैं कोड जो स्पष्ट रूप से कक्षा / ऑब्जेक्ट द्वारा ही उपयोग करने योग्य है "बाहरी कोड" यह जोड़े को नहीं कर सकता है, न तो उद्देश्यपूर्ण और न ही गलती से जब आपको उस कोड को रिफैक्टर करने की आवश्यकता होती है, तो आप यह सुनिश्चित कर सकते हैं कि क्लास के भीतर परिवर्तन अलग-अलग हो गए हैं और संभवत: अन्य कोडों को तोड़ने के बारे में चिंता न करें।

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

    इसलिए, एक वर्ग / ऑब्जेक्ट को अपने सार्वजनिक इंटरफेस को कम से कम रखना चाहिए और वह सब कुछ रखें जो "सार्वजनिक उपभोग" निजी। यह आपको अपने वर्ग के डिजाइन पर ध्यान केंद्रित करने की अनुमति देता है, जिसके लिए किसी ऑब्जेक्ट को उपयोगी होने के लिए सार्वजनिक होना चाहिए, और बाकी के कार्यान्वयन को लचीला रखना होगा।

Comments

Popular posts from this blog

python - how we can use ajax() in views.py in django? -

matlab - Using loops to get multiple values into a cell -

python - Sequence Pattern recognition with Pybrain -