वस्तु उन्मुख प्रोग्रामिंग में सार्वजनिक, निजी और संरक्षित क्या हैं?
वस्तु उन्मुख प्रोग्रामिंग में सार्वजनिक, निजी और संरक्षित क्या हैं?
जवाबों:
वे पहुँच संशोधक हैं और हमें एनकैप्सुलेशन (या सूचना छिपाने) को लागू करने में मदद करते हैं । वे संकलक को बताते हैं कि अन्य वर्गों को किस क्षेत्र या विधि के लिए परिभाषित किया जाना चाहिए।
private
- केवल वर्तमान वर्ग के पास क्षेत्र या विधि तक पहुंच होगी।
protected
- इस वर्ग के केवल वर्तमान वर्ग और उपवर्ग (और कभी-कभी समान-पैकेज वर्ग) के लिए क्षेत्र या विधि तक पहुंच होगी।
public
- कोई भी वर्ग क्षेत्र को संदर्भित कर सकता है या विधि को कॉल कर सकता है।
यह मानता है कि इन खोजशब्दों को एक वर्ग परिभाषा के भीतर एक क्षेत्र या विधि घोषणा के भाग के रूप में उपयोग किया जाता है।
वे वास्तव में अवधारणाएं नहीं हैं, बल्कि विशिष्ट कीवर्ड हैं जो सी ++ और जावा जैसी लोकप्रिय भाषाओं में होते हैं (थोड़े अलग शब्दार्थ के साथ)।
अनिवार्य रूप से, वे एक वर्ग को सदस्यों (क्षेत्रों या कार्यों) तक पहुंच को प्रतिबंधित करने की अनुमति देते हैं। विचार यह है कि कम एक प्रकार को दूसरे प्रकार में उपयोग करने की अनुमति है, कम निर्भरता बनाई जा सकती है। यह एक्सेस ऑब्जेक्ट को संदर्भित करने वाली वस्तुओं को प्रभावित किए बिना अधिक आसानी से परिवर्तित करने की अनुमति देता है।
मोटे तौर पर, सार्वजनिक का मतलब है कि हर किसी को प्रवेश की अनुमति है, निजी का मतलब है कि केवल उसी वर्ग के सदस्यों को प्रवेश की अनुमति है, और संरक्षित साधनों का मतलब है कि उपवर्गों के सदस्यों को भी अनुमति है। हालाँकि, प्रत्येक भाषा अपनी चीजों को इसमें जोड़ती है। उदाहरण के लिए, C ++ आपको गैर-सार्वजनिक रूप से विरासत में प्राप्त करने की अनुमति देता है। जावा में, एक डिफ़ॉल्ट (पैकेज) एक्सेस स्तर भी है, और आंतरिक कक्षाओं आदि के बारे में नियम हैं।
तीनों एक्सेस मॉडिफायर और कीवर्ड हैं जो एक क्लास में उपयोग किए जाते हैं। सार्वजनिक रूप से घोषित किसी भी वस्तु का उपयोग कक्षा के भीतर या कक्षा के बाहर किसी भी वस्तु द्वारा किया जा सकता है, निजी में चर केवल कक्षा के भीतर की वस्तुओं द्वारा उपयोग किया जा सकता है और इसे प्रत्यक्ष पहुंच के माध्यम से नहीं बदला जा सकता है (क्योंकि यह मित्र फ़ंक्शन जैसे कार्यों के माध्यम से बदल सकता है) संरक्षित खंड के तहत परिभाषित कुछ भी वर्ग और उनके बस व्युत्पन्न वर्ग द्वारा उपयोग किया जा सकता है।
एक सार्वजनिक आइटम वह है जो किसी अन्य वर्ग से सुलभ है। आपको बस यह जानना है कि यह कौन सी वस्तु है और आप इसे एक्सेस करने के लिए एक डॉट ऑपरेटर का उपयोग कर सकते हैं। संरक्षित का मतलब है कि एक वर्ग और उसके उपवर्गों के पास चर तक पहुंच है, लेकिन किसी अन्य वर्ग के लिए नहीं, उन्हें चर के साथ कुछ भी करने के लिए एक गेटटर / सेटर का उपयोग करने की आवश्यकता है। एक निजी का मतलब है कि केवल उस वर्ग के पास चर तक सीधी पहुंच है, बाकी सभी को उस डेटा तक पहुंचने या बदलने के लिए एक विधि / फ़ंक्शन की आवश्यकता होती है। उम्मीद है की यह मदद करेगा।
ऊपर के रूप में, लेकिन गुणात्मक रूप से:
private - least access, best encapsulation
protected - some access, moderate encapsulation
public - full access, no encapsulation
कम पहुंच आप अपनी वस्तुओं से कम कार्यान्वयन विवरण रिसाव प्रदान करते हैं। इस तरह के रिसाव के कम होने का अर्थ है कि वस्तु के ग्राहकों को तोड़ने के बिना किसी वस्तु को कैसे लागू किया जाए, इसे बदलने के संदर्भ में अधिक लचीलापन (उर्फ "शिथिल युग्मन")। यह समझने के लिए एक सही मायने में मौलिक बात है।
इसे योग करने के लिए, वस्तु उन्मुख प्रोग्रामिंग में, सब कुछ कक्षाओं और वस्तुओं में मॉडलिंग की जाती है। वर्गों में गुण और विधियाँ समाहित हैं। सार्वजनिक, निजी और संरक्षित कीवर्ड का उपयोग किसी वर्ग के इन सदस्यों (गुणों और विधियों) तक पहुँच को निर्दिष्ट करने के लिए किया जाता है जो अन्य वर्गों या अन्य। Dll या अन्य अनुप्रयोगों से भी होते हैं।