Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP में एनकैप्सुलेशन समझाया गया

ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग एक सॉफ्टवेयर दृष्टिकोण है जिसे 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 में एक्सेस स्पेसिफायर्स इम्प्लीमेंट करके एनकैप्सुलेशन प्राप्त कर सकते हैं।

  1. - PHP में फाइनल क्लास और फाइनल मेथड समझाया गया

    फाइनल कीवर्ड PHP5 द्वारा ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग कॉन्सेप्ट से संबंधित पेश किया गया है। लेकिन इससे पहले कि हम फाइनल पर आगे बढ़ें, हमें यह सुनिश्चित करने की आवश्यकता है कि हमें इनहेरिटेंस कॉन्सेप्ट की अच्छी समझ है। इनहेरिटेंस में, हम एक क्लास को दूसरी क्लास से इनहेरिट कर सकते हैं। साथ ही, हम इ

  1. - PHP में convert_uudecode() फ़ंक्शन

    convert_uudecode() फ़ंक्शन PHP में convert_uudecode() फ़ंक्शन एनकोडेड स्ट्रिंग को डिकोड करने के लिए उपयोग किया जाता है। सिंटैक्स convert_uudecode(string $data): string|false पैरामीटर्स data - uudecode डेटा रिटर्न वैल्यू convert_uudecode() फ़ंक्शन डिकोडेड डेटा को स्ट्रिंग के रूप में रिटर्न करता

  1. - PHP में get_class_methods() फंक्शन

    PHP में get_class_methods() फंक्शन क्लास मेथड्स के नाम प्राप्त करता है। यह name_of_class द्वारा निर्दिष्ट क्लास के लिए परिभाषित मेथड नामों की सरणी लौटाता है। त्रुटि की स्थिति में NULL लौटाता है। सिंटैक्स get_class_methods(class) पैरामीटर्स name_of_class - क्लास नाम। आवश्यक! रिटर्न वैल्यू name_o