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