Encapsulation in python In Hindi
सी++ प्रोग्रामिंग में एनकैप्सुलेशन ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP) में फंडामेंटल पॉपुलर प्रोग्रामिंग कांसेप्ट है, जो क्लास डेटा (एट्रिब्यूट) और क्लास फ़ंक्शन (मेथड्स) को एक साथ कंबाइंड करता है. जो क्लास डेटा ऐट्रिब्यूट्स को मेन्युप्लेट करते हैं, और क्लास ऐट्रिब्यूट्स और क्लास मेथड्स को एक्सटर्नल इंटरफेयर और मिसयूज़ से प्रोटेक्ट करते हैं। इसे अक्सर पाइथन क्लास में “डेटा हाईड” के रूप में उपयोग किया जाता है, क्योंकि यह क्लास ऑब्जेक्ट की इंटरनल कंडीशन को सीधे एक्सटर्नल एक्सेस से हाईड करता है।
Principles of Encapsulation in Python.
Data Security – पाइथन प्रोग्राम क्लास में एनकैप्सुलेशन किसी क्लास ऑब्जेक्ट की इंटरनल कंडीशन (ऐट्रिब्यूट्स) तक सीधे एक्सेस को ब्लॉक करता है, यह सुनिश्चित करता है कि क्लास डेटा को अच्छी तरह से डिफाइन मेथड्स (गेटर्स और सेटर्स) के माध्यम से एक्सेस और मॉडिफाई किया जाए। यह प्रोग्राम में डेटा इंटीग्रिटी और कंसिस्टेंसी को मैनेज करता है।
Abstraction – क्लास अब्स्ट्रक्शन ऑब्जेक्ट की कम्प्लेक्सिटी को हाईड करते हुए केवल आवश्यक इनफार्मेशन को डेमोंस्ट्रेट करके, एनकैप्सुलेशन क्लास अब्स्ट्रक्शन को इनक्रीस करता है। क्लास के यूजर इंटरनल एक्सेक्युशन डिटेल्स को समझने की आवश्यकता के बिना, इंटरफ़ेस (पब्लिक मेथड्स) का उपयोग करके ऑब्जेक्ट के साथ सीधे कम्यूनिकेट करते हैं।
Modularity – पाइथन क्लास एनकैप्सुलेशन प्रोग्राम के एक पर्टिकुलर पार्ट्स के एक्सेक्यूशन डिटेल्स को दूसरे पार्ट्स से अलग करके प्रोग्राम मॉड्यूलरिटी फीचर्स प्रदान करता है, जिससे जटिल क्लास प्रोग्राम को आसान मेंटेनेंस और प्रोग्राम मापनीयता बढ़ती है।
Example of Encapsulation Program in Python.
So let’s understand encapsulation in Python with the example of Food class.
class food:
def __init__(select, name, price):
select.__name = name # class name Private attribute use
select.__price = price # price Private attribute use
def get_name(select):
return select.__name
def set_name(select, name):
select.__name = name
def get_price(select):
return select.__price
def set_price(select, price):
select.__price = price
def show_info(select):
print(f”vegetarian – {select.__name} {select.__price}”)
# create instance for food class
select_food = food(‘indian food’, ‘punjabi food’)
# let access attributes with getter methods
print(select_food.get_name())
print(select_food.get_price())
# let Modifying attributes with setter methods
select_food.set_name(‘south indian food’)
select_food.select_food()
ऊपर दिए गए उदाहरण में.
फ़ूड क्लास में प्राइवेट ऐट्रिब्यूट्स (__name और __price) होती हैं. जिन्हें गेट्टर (get_name(), get_price()) और सेटर (set_name(), set_price()) क्लास मेथड्स का उपयोग करके एक्सेस और मॉडिफाई किया जाता है.
क्लास ऐट्रिब्यूट्स नामों (__name, __price) से पहले डबल अंडरस्कोर (__) उपसर्ग उन्हें प्राइवेट क्लास इंस्टैंस बनाता है, यह दर्शाता है कि उन्हें सीधे क्लास के बाहर एक्सेस नहीं किया जा सकता है.
Benefits of Encapsulation in Python.
Improved security – एन्काप्सुलेशन पाइथन क्लास में अनधिकृत एक्सेस और मॉडिफिकेशन से सेंसिटिव डेटा को प्रोटेक्ट करता है.
Controlled access – एन्काप्सुलेशन क्लास अच्छी तरह से डिफाइन इंटरफेस (मेथड्स) के माध्यम से ऐट्रिब्यूट्स और बिहैवियर तक कंट्रोलड एक्सेस देता है, जिससे ऑब्जेक्ट्स की सुसंगत कंडीशन और बिहैवियर तय होता है.
Ease of change – पाइथन एन्काप्सुलेशन में जब तक पब्लिक इंटरफ़ेस अपरिवर्तित होता है, तब तक क्लास के इंटरनल एक्सेक्यूशन को एक्सटर्नल कोड को एफेक्ट किए बिना मॉडिफिकेशन परमिशन देता है.
Encapsulation Methods in Python Programming.
Private attributes and methods – पायथन प्रोग्रामिंग में, प्राइवेट ऐट्रिब्यूट्स और मेथड्स उनके डिफाइन नाम के आगे डबल अंडरस्कोर ऑपरेटर (__) का उपयोग करते डिस्प्ले की जाती हैं। हालाँकि, पायथन प्रोग्रामिंग कुछ अन्य प्रोग्रामिंग लैंग्वेजेज (जैसे, जावा, सी++) की तरह स्ट्रिक्ट प्राइवेट एक्सेस को अप्लाई नहीं करता है, लेकिन यह सुझाव देता है कि उन्हें सीधे क्लास के बाहर से एक्सेस नहीं किया जाना चाहिए।
Property decorator – पायथन प्रोग्रामिंग में गेटर्स और सेटर्स को अधिक पायथनिक तरीके से डिफाइन करने के लिए @property डेकोरेटर फीचर्स प्रोवाइड करता है, जिससे क्लास प्रोग्राम सिंटैक्स अधिक क्लीअर और अधिक रिडेबल बन जाती है।
Encapsulation in Python Short Description.
एनकैप्सुलेशन मेथड्स OOP में एक पावरफुल प्रोग्रामिंग कॉन्सेप्ट्स है. जो क्लास डेटा और मेथड्स को क्लास के भीतर एनकैप्सुलेट करके क्लास सिक्योरिटी, क्लास मॉड्यूलरिटी और क्लास अब्स्ट्रक्शन फीचर्स प्रदान करती है। यह क्लास ऑब्जेक्ट कंडीशन और बिहैवियर तक एक्सेस को कंट्रोल्ड करके कोड री-यूजेबल, प्रोग्राम मेंटेनेंस और मापनीयता को बढ़ाता है, जिससे पाइथन समग्र सॉफ़्टवेयर डिज़ाइन और प्रोग्राम आर्किटेक्चर में इम्प्रूवमेंट होता है।