ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग एक सॉफ्टवेयर दृष्टिकोण है जिसे PHP5 में जोड़ा गया है, जो कम्पोजिट एप्लिकेशन को आसान तरीके से बनाने में मदद करता है। PHP5 में जोड़े गए कुछ OOP कॉन्सेप्ट्स हैं एब्स्ट्रैक्शन, इंटरफेस, स्टेटिक मेथड, और स्टेटिक क्लास, आदि...
इस लेख में, हम एनकैप्सुलेशन और इसके इम्प्लीमेंटेशन को कुछ उदाहरणों के माध्यम से सीखेंगे।
डेटा और मेथड्स को एक सिंगल यूनिट (जिसे क्लास कहा जाता है) में लपेटना एनकैप्सुलेशन के रूप में जाना जाता है। एनकैप्सुलेशन क्लास के अंदर मौजूद डेटा मेंबर्स और मेथड्स के लिए एक सुरक्षा तंत्र है। एनकैप्सुलेशन तकनीक में, हम एंड-यूजर की बाहरी दुनिया से डेटा मेंबर्स तक पहुंच को प्रतिबंधित कर रहे हैं।
PHP में, एनकैप्सुलेशन का उपयोग कोड को अधिक सुरक्षित और मजबूत बनाने के लिए किया जाता है। एनकैप्सुलेशन का उपयोग करके, हम यूजर से डेटा के वास्तविक इम्प्लीमेंटेशन को छिपा रहे हैं और वांछित ऑपरेशन को कॉल करने के अलावा किसी को भी डेटा मेंबर्स को मैनिपुलेट करने की अनुमति नहीं देते हैं।
उदाहरण
आइए एक उदाहरण के माध्यम से इसे समझें।
<?php
class ATM {
private $custid;
private $atmpin;
public function PinChange($custid,$atmpin) {
---------perform tasks-----
}
public function CheckBalance($custid,$atmpin){
---------perform tasks-----
}
public function miniStatement($custid) {
---------perform tasks-----
}
}
$obj = new ATM();
$obj ->CheckBalance(10005285637,1**3);
?>
व्याख्या:
इस उदाहरण में, ATM क्लास के सभी डेटा मेंबर्स (वेरिएबल) प्राइवेट मॉडिफायर के साथ चिह्नित हैं। इसका तात्पर्य है कि हम ATM क्लास डेटा मेंबर्स (प्रॉपर्टी) को सीधे एक्सेस नहीं कर सकते। इसलिए, हम क्लास प्रॉपर्टी को सीधे नहीं बदल सकते। क्लास प्रॉपर्टी (डेटा मेंबर्स) को बदलने का एकमात्र दृष्टिकोण एक मेथड (फंक्शन) को कॉल करना है। इसीलिए हमने सभी ATM क्लास मेथड्स को पब्लिक एक्सेस मॉडिफायर के साथ घोषित किया है। यूजर किसी विशेष कार्य को करने के लिए क्लास मेथड में अपेक्षित आर्गुमेंट्स पास कर सकता है।
मान लीजिए कोई बैलेंस चेक करना चाहता है तो उसे आवश्यक आर्गुमेंट्स $custid="10005285637" और $atmpin="1**3" के साथ CheckBalance() मेथड को एक्सेस करने की आवश्यकता है। इसे एनकैप्सुलेशन के माध्यम से डेटा हाइडिंग कहा जाता है।
नोट:
हम PHP में एक्सेस स्पेसिफायर्स इम्प्लीमेंट करके एनकैप्सुलेशन प्राप्त कर सकते हैं।