एक्सेस संशोधक एक वर्ग (या प्रकार) और उसके सदस्यों की पहुंच को निर्दिष्ट करने के लिए उपयोग किए जाने वाले कीवर्ड हैं। इन संशोधक का उपयोग वर्तमान एप्लिकेशन के अंदर या बाहर कोड से किया जा सकता है।
.NET में एक्सेस संशोधक का उपयोग कोड के विभिन्न संभावित क्षेत्रों से एक प्रकार के प्रत्येक सदस्य की पहुंच को नियंत्रित करने के लिए किया जाता है। इसे वर्तमान विधानसभा के भीतर या इसके बाहर से नियंत्रित किया जा सकता है। एक असेंबली कार्यक्षमता की तार्किक इकाई का प्रतिनिधित्व करती है और इसमें एक या अधिक फ़ाइलों में स्थित प्रकार और संसाधन होते हैं।
एक्सेस संशोधक का उपयोग करने का उद्देश्य एनकैप्सुलेशन को लागू करना है, जो एक प्रकार के इंटरफ़ेस को उसके कार्यान्वयन से अलग करता है। इससे निम्नलिखित लाभ प्राप्त किए जा सकते हैं:
- उपयोगकर्ताओं द्वारा अमान्य स्थिति में सेट किए गए आंतरिक डेटा तक पहुंच की रोकथाम।
- इसका उपयोग करने वाले घटकों को प्रभावित किए बिना प्रकारों के आंतरिक कार्यान्वयन में परिवर्तन का प्रावधान।
- सॉफ्टवेयर घटकों के बीच अन्योन्याश्रितताओं को कम करके प्रणाली की जटिलता में कमी।
.NET फ्रेमवर्क पांच प्रकार के एक्सेस मॉडिफायर्स का विकल्प प्रदान करता है:
- निजी - प्रकार के भीतर कोड केवल उस प्रकार के सदस्यों तक पहुंच सकता है, और इसलिए अभिगम्यता वर्तमान प्रकार तक ही सीमित है
- सार्वजनिक - वर्तमान असेंबली के भीतर कहीं से भी कोड, या अन्य असेंबली जो इसे संदर्भित करती है, प्रकार के सदस्यों तक पहुंच सकती है, और इसलिए कहीं से भी पहुंच की अनुमति देती है
- संरक्षित - प्रकार के भीतर कोड, या इसके व्युत्पन्न वर्ग, प्रकार के सदस्यों तक पहुँच सकते हैं और इसलिए पहुँच वर्तमान प्रकार और व्युत्पन्न कक्षाओं तक सीमित है
- आंतरिक - वर्तमान असेंबली में कोड, लेकिन किसी अन्य असेंबली से नहीं, प्रकार के सदस्यों तक पहुंच सकता है, इसलिए पहुंच वर्तमान असेंबली तक ही सीमित है
- संरक्षित आंतरिक - वर्तमान असेंबली में कोड प्रकार के सदस्यों और इसे संदर्भित करने वाली असेंबली से भी एक्सेस कर सकता है। इसलिए, पहुंच वर्तमान असेंबली में व्युत्पन्न कक्षाओं से है, और इसे संदर्भित असेंबली में व्युत्पन्न वर्ग प्रकार के उदाहरण के माध्यम से होना चाहिए
एक्सेस संशोधक पर लागू होने वाले कई नियम हैं:
- जब सदस्यों को टाइप करने के लिए कोई एक्सेस संशोधक निर्दिष्ट नहीं होता है, तो डिफ़ॉल्ट एक्सेस स्तर निजी और आंतरिक होता है।
- नामस्थानों के लिए कोई एक्सेस संशोधक की अनुमति नहीं है, क्योंकि वे सार्वजनिक हैं।
- एक प्रकार के भीतर घोषित नेस्टेड वर्ग और संरचना सदस्य डिफ़ॉल्ट रूप से निजी वर्ग के लिए होते हैं।
- संरचना सदस्यों को संरक्षित घोषित नहीं किया जा सकता क्योंकि यह वंशानुक्रम का समर्थन नहीं करता है।
- विध्वंसक के पास एक्सेस संशोधक नहीं हो सकते।
- व्युत्पन्न प्रकार की अपने मूल प्रकार से अधिक पहुंच नहीं हो सकती है।
- एक युक्त प्रकार के सदस्य की पहुँच उसके प्रकार के सदस्य की तुलना में कम होनी चाहिए। इसे एक उदाहरण के साथ चित्रित किया जा सकता है: यदि टाइप ए सार्वजनिक दृश्यता में नहीं है, तो एक सार्वजनिक विधि में एक पैरामीटर के रूप में "ए" नहीं हो सकता है।
- इंटरफेस को सार्वजनिक और आंतरिक घोषित किया जाता है, और अन्य एक्सेस संशोधक नहीं हो सकते हैं, क्योंकि इंटरफेस मुख्य रूप से कक्षाओं द्वारा इसे प्राप्त करने के लिए उपयोग किए जाते हैं।
- एक्सेस संशोधक का उपयोग न केवल कक्षा के सदस्यों के लिए किया जाता है, बल्कि उसी उद्देश्य से अन्य कोड निर्माणों के लिए भी किया जाता है।
0 Comments