VB.NET में मित्र और संरक्षित मित्र

click fraud protection

एक्सेस मॉडिफायर (जिसे स्कूपिंग रूल्स भी कहा जाता है) यह निर्धारित करता है कि कौन सा कोड किसी तत्व तक पहुंच सकता है- यानी, किस कोड को इसे पढ़ने या इसे लिखने की अनुमति है। विजुअल बेसिक के पिछले संस्करणों में, तीन प्रकार की कक्षाएं थीं। इन्हें .NET के लिए आगे बढ़ाया गया है। इनमें से प्रत्येक में, .NET केवल कोड तक पहुंच की अनुमति देता है:

  • निजी - एक ही मॉड्यूल, वर्ग, या संरचना के भीतर।
  • मित्र - उसी सभा के भीतर।
  • सार्वजनिक - कहीं भी एक ही परियोजना में, अन्य परियोजनाओं से जो परियोजना का संदर्भ देते हैं, और परियोजना से निर्मित किसी भी विधानसभा से। दूसरे शब्दों में, कोई भी कोड जो उसे पा सकता है।

VB.NET डेढ़ नए जोड़े गए हैं।

  • संरक्षित
  • रक्षित मित्र

"आधा" इसलिए है क्योंकि संरक्षित मित्र नए संरक्षित वर्ग और पुराने मित्र वर्ग का एक संयोजन है।

संरक्षित और संरक्षित मित्र संशोधक आवश्यक हैं क्योंकि VB.NET अंतिम OOP आवश्यकता को लागू करता है जो VB गायब था: विरासत.

VB.NET से पहले, सुपरसीलियस और तिरस्कारपूर्ण C ++ और जावा प्रोग्रामर VB को विचलित करेंगे क्योंकि यह उनके अनुसार था, "पूरी तरह से ऑब्जेक्ट ओरिएंटेड नहीं।" क्यों? पिछले संस्करणों में वंशानुक्रम की कमी थी। वंशानुक्रम वस्तुओं को एक पदानुक्रम में अपने इंटरफेस और / या कार्यान्वयन को साझा करने की अनुमति देता है। दूसरे शब्दों में, विरासत एक सॉफ्टवेयर ऑब्जेक्ट के लिए संभव बनाता है जो किसी अन्य के सभी तरीकों और गुणों को लेता है।

instagram viewer

इसे अक्सर "is-a" संबंध कहा जाता है।

  • एक ट्रक "एक" वाहन है।
  • एक वर्ग "एक" एक "आकार" है।
  • एक कुत्ता "एक" स्तनपायी है।

यह विचार है कि अधिक सामान्य और व्यापक रूप से उपयोग की जाने वाली विधियां और गुण "अभिभावक" वर्गों को परिभाषित करते हैं और इन्हें "बाल" कक्षाओं (अक्सर उपवर्ग) कहा जाता है। "स्तनपायी" "कुत्ते" की तुलना में अधिक सामान्य विवरण है। व्हेल स्तनधारी हैं।

बड़ा लाभ यह है कि आप अपने कोड को व्यवस्थित कर सकते हैं, इसलिए आपको केवल कोड लिखना होगा जो कुछ ऐसा करता है जो बहुत सारी वस्तुओं को एक बार माता-पिता को करना पड़ता है। सभी "कर्मचारियों" को एक "कर्मचारी संख्या" उनके पास सौंपी जानी चाहिए। अधिक विशिष्ट कोड बाल वर्गों का हिस्सा हो सकता है। केवल उन कर्मचारियों को जो सामान्य कार्यालय में काम करते हैं, उनके लिए एक कर्मचारी द्वार कार्ड कुंजी सौंपी जानी चाहिए।

विरासत की इस नई क्षमता के लिए नए नियमों की आवश्यकता होती है। यदि एक नया वर्ग एक पुराने पर आधारित है, तो संरक्षित एक एक्सेस संशोधक है जो उस रिश्ते को दर्शाता है। संरक्षित कोड को केवल उसी वर्ग के भीतर, या इस वर्ग से प्राप्त वर्ग से पहुँचा जा सकता है। आप नहीं चाहते कि कर्मचारियों के अलावा कर्मचारी डोर कार्ड कीज़ को किसी को सौंपा जाए।

जैसा कि कहा गया है, संरक्षित मित्र मित्र और संरक्षित दोनों की पहुंच का एक संयोजन है। कोड तत्वों को व्युत्पन्न वर्गों से या एक ही विधानसभा के भीतर, या दोनों से पहुँचा जा सकता है। संरक्षित मित्र का उपयोग उन कक्षाओं के पुस्तकालयों को बनाने के लिए किया जा सकता है जो आपके कोड तक पहुंचते हैं केवल उसी विधानसभा में होना चाहिए।

लेकिन फ्रेंड के पास वह एक्सेस भी है, इसलिए आप प्रोटेक्टेड फ्रेंड का इस्तेमाल क्यों करेंगे? कारण यह है कि मित्र को स्रोत फ़ाइल में उपयोग किया जा सकता है, नाम स्थान, इंटरफेस, मॉड्यूल, कक्षा, या संरचना. लेकिन संरक्षित मित्र का उपयोग केवल कक्षा में ही किया जा सकता है। संरक्षित मित्र वह है जो आपको अपने स्वयं के ऑब्जेक्ट लाइब्रेरी के निर्माण के लिए चाहिए। मित्र कठिन कोड स्थितियों के लिए है जहां असेंबली वाइड एक्सेस वास्तव में आवश्यक है।

instagram story viewer