किसी वर्ग में निजी संपत्ति के मूल्य तक पहुंचने के लिए, हमें ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में इनकैप्सुलेशन की अवधारणा को समझने की आवश्यकता है। एनकैप्सुलेशन एक मौलिक सिद्धांत है जो हमें गुणों और विधियों जैसे वर्ग के सदस्यों तक पहुंच को नियंत्रित करने की अनुमति देता है। PHP में, हम एक्सेस संशोधक का उपयोग करके इनकैप्सुलेशन प्राप्त कर सकते हैं।
PHP में, हमारे पास तीन एक्सेस संशोधक हैं: सार्वजनिक, संरक्षित और निजी। सार्वजनिक संपत्तियों और विधियों को कहीं से भी एक्सेस किया जा सकता है, जबकि संरक्षित संपत्तियों और विधियों को केवल क्लास या उसके उपवर्गों के भीतर ही एक्सेस किया जा सकता है। दूसरी ओर, निजी संपत्तियों और विधियों तक केवल उस वर्ग के भीतर ही पहुंचा जा सकता है जहां उन्हें परिभाषित किया गया है।
किसी वर्ग में निजी संपत्ति के मूल्य तक पहुंचने के लिए, हम आम तौर पर गेटर और सेटर विधियों का उपयोग करते हैं। एक गेटर विधि एक निजी संपत्ति के मूल्य को पुनः प्राप्त करने के लिए जिम्मेदार है, जबकि एक सेटर विधि का उपयोग एक निजी संपत्ति के मूल्य को अद्यतन करने के लिए किया जाता है। आइए एक उदाहरण देखें:
php class MyClass { private $myPrivateProperty; public function getMyPrivateProperty() { return $this->myPrivateProperty; } public function setMyPrivateProperty($value) { $this->myPrivateProperty = $value; } } $obj = new MyClass(); $obj->setMyPrivateProperty('Hello, World!'); echo $obj->getMyPrivateProperty(); // Output: Hello, World!
उपरोक्त उदाहरण में, हमारे पास एक निजी संपत्ति `$myPrivateProperty` के साथ `MyClass` नामक एक वर्ग है। हमने निजी संपत्ति के मूल्य तक पहुंचने और संशोधित करने के लिए क्रमशः गेटर और सेटर तरीकों (`getMyPrivateProperty` और `setMyPrivateProperty`) को परिभाषित किया है।
निजी संपत्ति तक पहुँचने के लिए, हम वर्ग (`$obj`) का एक उदाहरण बनाते हैं और मान निर्धारित करने के लिए सेटर विधि (`setMyPrivateProperty`) का उपयोग करते हैं। फिर, हम मूल्य को पुनः प्राप्त करने और इसे आउटपुट पर प्रतिध्वनित करने के लिए गेट्टर विधि (`getMyPrivateProperty`) का उपयोग करते हैं।
गेटर और सेटर विधियों का उपयोग करके, हम यह नियंत्रित कर सकते हैं कि निजी संपत्ति तक कैसे पहुंचा जाए और संशोधित किया जाए। हम यह सुनिश्चित करने के लिए इन तरीकों के अंदर अतिरिक्त तर्क या सत्यापन जोड़ सकते हैं कि संपत्ति तक पहुंच और संशोधन सही ढंग से किया गया है।
यह ध्यान रखना महत्वपूर्ण है कि क्लास स्कोप के बाहर से सीधे निजी संपत्तियों तक पहुंचने की अनुशंसा नहीं की जाती है, क्योंकि यह इनकैप्सुलेशन के सिद्धांत का उल्लंघन करता है। एनकैप्सुलेशन क्लास की आंतरिक स्थिति तक पहुंच को नियंत्रित करके उसकी अखंडता और स्थिरता को बनाए रखने में मदद करता है।
किसी वर्ग में निजी संपत्ति के मूल्य तक पहुंचने के लिए, हम गेटर और सेटर विधियों का उपयोग कर सकते हैं। ये विधियां निजी संपत्तियों तक नियंत्रित पहुंच प्रदान करती हैं और हमें उनके मूल्यों को पुनः प्राप्त करने और संशोधित करने की अनुमति देती हैं। इनकैप्सुलेशन और एक्सेस संशोधक का उपयोग करके, हम अपनी कक्षाओं की अखंडता और स्थिरता सुनिश्चित कर सकते हैं।
संबंधित अन्य हालिया प्रश्न और उत्तर PHP में कक्षाएं और आपत्तियाँ:
- किसी कक्षा में गुणों तक पहुँचने और उन्हें संशोधित करने के लिए अनुशंसित दृष्टिकोण क्या है?
- हम किसी वर्ग में निजी संपत्ति का मूल्य कैसे अद्यतन कर सकते हैं?
- किसी कक्षा में गेटर्स और सेटर्स का उपयोग करने का क्या लाभ है?
- किसी वर्ग में संपत्तियों को निजी बनाने का उद्देश्य क्या है?
- PHP कक्षाओं में कंस्ट्रक्टर फ़ंक्शन क्या है और इसका उद्देश्य क्या है?
- PHP कक्षाओं में विधियाँ क्या हैं और हम उनकी दृश्यता को कैसे परिभाषित कर सकते हैं?
- PHP कक्षाओं में गुण क्या हैं और हम उनकी दृश्यता को कैसे परिभाषित कर सकते हैं?
- हम PHP में किसी क्लास से ऑब्जेक्ट कैसे बना सकते हैं?
- PHP में क्लास क्या है और यह किस उद्देश्य को पूरा करती है?