class वीबी 6 में सार्वजनिक संपत्ति, मित्र और लोक परिवर्तनीय के बीच अंतर क्या है




vb6 encapsulation (3)

  • सार्वजनिक का अर्थ है कि यह आपके प्रोजेक्ट / डीएलएल को दर्शाती किसी अन्य श्रेणी से सुलभ है।
  • मित्र का मतलब है कि यह आपके विधानसभा के भीतर किसी भी अन्य वर्गों से पहुँचा जा सकता है (इसलिए केवल आपके द्वारा क्लास बना दिया है)

वैरिएबल और प्रॉपर्टी सबसे ज्यादा समान हैं प्रॉपर्टी को तब से वरीयता दी गई है जब आप सेट कर सकते हैं यदि अन्य कक्षाएं वेरिएबल सेट कर सकती हैं या प्राप्त कर सकती हैं (प्रॉपर्टी इनक्यूबेट करता है चर)

सी # में यह वही है, केवल आप मित्र के बजाय आंतरिक उपयोग करते हैं

ठीक है, इसलिए मैं समझता हूं कि आयन वीबी 6, एक वर्ग में एनकैप्लेटेड गुण तीन श्रेणियों में से एक का हो सकता है:

  • सार्वजनिक संपत्ति
  • दोस्त
  • सार्वजनिक परिवर्तनीय

इनके बीच क्या फर्क है और ये कैसे सी # जैसी आधुनिक भाषा में सार्वजनिक और निजी संपत्तियों की तुलना करते हैं?


निजी संपत्ति वह संपत्ति है जो खुद और परिवार के अन्य सदस्य द्वारा उपयोग की जाती है लेकिन, सार्वजनिक संपत्ति वह संपत्ति है जो हमारे समुदाय, समाज या देश के सभी लोगों द्वारा उपयोग की जाती है।


गुंजाइश क्वालिफायर Public और Friend यह निर्धारित करते हैं कि विभिन्न परियोजनाओं में ग्राहकों को आइटम देख सकते हैं।

  • Public आइटम अन्य परियोजनाओं 1 और कोड में एक ही परियोजना में क्लाइंट कोड के लिए पहुंच योग्य होगा।
  • Friend वस्तुएं केवल एक ही परियोजना में कोड के लिए उपलब्ध हैं, कि अन्य परियोजनाओं में कोड के लिए
  • Private वस्तुओं केवल एक ही कक्षा में कोड के लिए accesible हैं।

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

एनबी सी # अधिक आधुनिक हो सकता है, लेकिन आईएमएचओ गुणों और सार्वजनिक वैरिएबल के वीबी 6 उपचार नेट उपचार से काफी बेहतर है।

  • वीबी 6 में आप क्लाइंट को तोड़ने के बिना एक सार्वजनिक वैरिएबल को संपत्ति में परिवर्तित कर सकते हैं। आपको उन्हें पुनः कंपाइल करने की ज़रूरत नहीं है। नेट में सच नहीं है
  • वीबी 6 सार्वजनिक चर में डेटा बाइंडिंग के साथ इस्तेमाल किया जा सकता है। नेट में सच नहीं है
  • वीबी 6 सार्वजनिक चर में इंटरफेस के साथ इस्तेमाल किया जा सकता है। नेट में सच नहीं है

आईएमएचओ माइक्रोसॉफ्ट ने नेट में गुणों और सार्वजनिक क्षेत्रों के बीच इन मतभेदों को बनाने में एक वास्तविक डिज़ाइन गलती की। आश्वस्त नहीं? .Net के पहले रिलीज के बाद, सी # और वीबी कंपाइलर्स को स्वचालित रूप से कार्यान्वित गुणों का समर्थन करने के लिए संशोधित किया गया। ये आपको कोड की सिर्फ एक पंक्ति में संपत्ति बनाने की अनुमति देते हैं, जिससे कि समस्याएं पैदा किए बिना प्राप्त / सेट पर तर्क जोड़ना संभव हो। आईएमएचओ यह साबित करता है कि सार्वजनिक वैरिएबल को गुणों से अप्रभेद्य बनाया जाना चाहिए था।

1 अपने प्रोजेक्ट प्रकार को मानते हुए वास्तव में आपकी कक्षाओं को अन्य परियोजनाओं (अर्थात, ActiveX DLL, OCX, या ActiveX exe) द्वारा उपयोग करने की अनुमति देता है।
2 Property Get में Property Get , Property Let और Property Set प्रक्रियाएं







encapsulation