Encapsulation in Hindi – एनकैप्सुलेशन क्या है? इसके प्रकार

इस लेख "Encapsulation in Hindi" में, जानें एनकैप्सुलेशन क्या है? एनकैप्सुलेशन के प्रकार और इसके फायदे आदि। Encapsulation in OOPs in Hindi.

Encapsulation in Hindi: एनकैप्सुलेशन चार मूलभूत OOP अवधारणाओं में से एक है। एनकैप्सुलेशन एक इकाई या इकाई में डेटा को बाहर से जानकारी की सुरक्षा के लिए एक विधि के साथ छिपाने की एक विधि है। मतलब एनकैप्सुलेशन डेटा को छुपाता है और कोड की दृश्यता को नियंत्रित करता है

प्रोग्रामिंग में एनकैप्सुलेशन का उपयोग करके attributes और methods के बारे में जानकारी छिपाने का एक प्रमुख लाभ यह है कि यह अन्य डेवलपर्स को आपके कोड का उपयोग करने वाली स्क्रिप्ट या APIs लिखने से रोकता है।

इस लेख में, आप यह जानने जा रहे हैं कि वास्तव में एनकैप्सुलेशन क्या है (What is Encapsulation in Hindi)? और इसके विभिन्न प्रकार आदि हैं। लेकिन इस लेख को अच्छी तरह से समझने के लिए सबसे पहले जानिए प्रोग्रामिंग लैंग्वेज, ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग, इनहेरिटेंस, पॉलीमॉर्फिज्म और एब्सट्रैक्शन क्या है

एनकैप्सुलेशन क्या है (Encapsulation in Hindi)

डेटा और फ़ंक्शंस को लपेटने की प्रक्रिया जो डेटा पर एक इकाई (entity) में क्रिया करती है उसे एनकैप्सुलेशन के रूप में जाना जाता है। एक इकाई को वर्ग (class) कहा जाता है। एनकैप्सुलेशन एक कैप्सूल में किसी चीज को एनकैप्सुलेट करने की प्रक्रिया है।

यानी किसी object की सभी प्रासंगिक (relevant) गतिविधियों और डेटा को उस object के भीतर सीमित करना। यह डेटा और कोड को बाहरी हस्तक्षेप से बचाता है।

एनकैप्सुलेशन क्या है (Encapsulation in Hindi)

एनकैप्सुलेशन ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग की प्रमुख विशेषता है। एनकैप्सुलेशन एक object बंडल में संबंधित व्यवहार को पैकेज करने और अन्य objects से फ़ंक्शन और डेटा दोनों में उनकी पहुंच को नियंत्रित या प्रतिबंधित करने की क्षमता को संदर्भित करता है।

यह उन डेटा और प्रक्रियाओं के संयोजन को संदर्भित करता है जो उस पर काम करते हैं। एक वर्ग (class) के भीतर संरचित डेटा ऑब्जेक्ट के मूल्यों या स्थिति तक अनधिकृत पहुंच को सीमित करने की तकनीक को ही एनकैप्सुलेशन कहा जाता है।

OOPs में एनकैप्सुलेशन (Encapsulation in OOPs)

OOPs में, एनकैप्सुलेशन मुख्य मूलभूत सिद्धांतों में से एक है। यह उस डेटा पर काम करने वाली विधियों के साथ डेटा के बंडल को संदर्भित करता है। एनकैप्सुलेशन का उपयोग किसी class के अंदर किसी संरचित डेटा ऑब्जेक्ट के मान या स्थिति को छिपाने के लिए किया जाता है, जिससे अनधिकृत पक्षों की उन तक सीधी पहुंच को रोका जा सके।

मूल रूप से, एनकैप्सुलेशन एक abstraction के तत्वों को विभाजित करने की प्रक्रिया है जो इसकी संरचना और व्यवहार का निर्माण करती है; एनकैप्सुलेशन एक abstraction और उसके कार्यान्वयन के संविदात्मक इंटरफ़ेस को अलग करने का कार्य करता है

एनकैप्सुलेशन का उदाहरण (Example of Encapsulation)

नीचे दिए गए रीयल-टाइम उदाहरण पर विचार करें:

एनकैप्सुलेशन: एक driver के रूप में आप जानते हैं कि स्टार्ट बटन दबाकर car को कैसे शुरू किया जाए और शुरुआती संचालन के आंतरिक विवरण आपसे छिपाए जाते हैं। तो पूरी शुरुआत प्रक्रिया आपसे छिपी हुई है अन्यथा हम कह सकते हैं कि ऑपरेशन शुरू करना आपसे अलग है।

  • Car के घटक: इंजन, टायर, स्टीयरिंग व्हील, शाफ्ट, आदि। ये सभी कुछ नहीं बल्कि car के डेटा सदस्य हैं (यदि कार एक class है, तो ये चर (variable हैं)।
  • Car के methods स्टीयरिंग, चल रहे हैं, हॉर्निंग आदि हैं।

उदाहरण को संक्षेप में प्रस्तुत करने के लिए, car class का प्रतिनिधित्व करती है; घटक (components) डेटा चर हैं, और car की क्रियाएं विधियां (methods) हैं।

एनकैप्सुलेशन का उदाहरण (Example of Encapsulation)

आइए एक और वास्तविक जीवन का उदाहरण देखें लेकिन अब C++ प्रोग्रामिंग कोड के साथ:

class employee
{
    //info of the employee
private:                 
        int ID;
        string name;
        int joinYear;
    
public:
    int getId()
    {
        return ID;
    }
    string getName()
    {
        return name;
    }
    int getYear()
    {
        return joinYear;
    }
    
    void setId(int newID)
    {
        ID = newID
    }
    
    void setName(string newName)
    {
        name = newName
    }
    
    void setYear(int newYear)
    {
        joinYear = newYear
    }
};

एनकैप्सुलेशन के प्रकार (Types of Encapsulation)

एनकैप्सुलेशन के प्रकार (Types of Encapsulation)

ऑब्जेक्ट प्रोग्रामिंग में डेटा को एनकैप्सुलेट करने के लिए तीन बुनियादी तकनीकें हैं:

  1. सदस्य चर एनकैप्सुलेशन (Member Variable)
  2. फंक्शन एनकैप्सूलेशन (Function Encapsulation)
  3. क्लास एनकैप्सुलेशन (Class Encapsulation)

आइए इन तीनो प्रकार के एनकैप्सुलेशन को समझते है –

एनकैप्सुलेशनपरिभाषा
मेंबर वेरिएबल एनकैप्सुलेशनऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में, एक सदस्य चर (कभी-कभी डेटा सदस्य और डेटा चर कहा जाता है) एक चर है जो एक विशिष्ट वस्तु से जुड़ा होता है, और इसके सभी तरीकों (सदस्य कार्यों) के लिए सुलभ होता है। OOP में, सभी डेटा सदस्यों को कक्षा के निजी सदस्यों के रूप में घोषित किया जाना चाहिए।
फंक्शन एनकैप्सूलेशनआंतरिक API कार्यान्वयन के लिए उपयोग किए जाने वाले निजी कार्यों को हमेशा निर्दिष्ट किया जाना चाहिए। विधि को एक निजी विधि के रूप में घोषित किया जाना चाहिए ताकि उपयोगकर्ता की उस तक पहुंच न हो। किसी भी ऐसे फंक्शन को छुपाना हमेशा याद रखें जिसे जनता को दिखाई देने की आवश्यकता नहीं है।
क्लास एनकैप्सुलेशनआपके API के आंतरिक कार्यान्वयन के लिए उपयोग की जाने वाली classes पर भी यही तर्क लागू होता है। ये classes किसी API के किसी सार्वजनिक इंटरफेस का हिस्सा नहीं होनी चाहिए। उन्हें आपके उपयोगकर्ताओं से छुपाया जाना चाहिए और निजी बनाया जाना चाहिए।

एनकैप्सुलेशन के लाभ (Advantages of Encapsulation)

यहाँ एनकैप्सुलेशन के कुछ मुख्य लाभ हैं:

  1. एनकैप्सुलेशन कोड पुन: प्रयोज्यता बढ़ता है।
  2. एनकैप्सुलेशन सिस्टम की जटिलता को कम करता है।
  3. यह बेहतर कोड रखरखाव प्रदान करता है।
  4. एनकैप्सुलेशन अधिक लचीलेपन को सक्षम बनाता है।
  5. एनकैप्सुलेशन को पुन: उपयोग करने में आसान है।
  6. Encapsulation डेटा सुरक्षा और सूचना छिपाने देता है।

निष्कर्ष

OOPs में एनकैप्सुलेशन एक इकाई (unit) के रूप में एक साथ बाध्यकारी क्षेत्रों (ऑब्जेक्ट स्टेट) और तरीकों (व्यवहार) की अवधारणा है। जावा जैसी प्रोग्रामिंग लैंग्वेज classes के रूप में इनकैप्सुलेशन का उपयोग करती हैं। एक वर्ग (class) प्रोग्रामर को चर (डेटा) और व्यवहार (विधियों या functions) के साथ ऑब्जेक्ट बनाने की अनुमति देता है।

मुझे उम्मीद है कि यह लेख “Encapsulation in Hindi”, आपको यह समझने में मदद करेगा कि वास्तव में एनकैप्सुलेशन क्या है और इसके सभी प्रकार और एनकैप्सुलेशन के फायदे आदि।

पिछला लेखList in Python in Hindi – पाइथन लिस्ट क्या है? पूरी जानकारी
अगला लेखLoops in Python in Hindi – पाइथन लूप क्या है? और प्रकार
वह एक पेशेवर वेब और ऐप डेवलपर और भारतीय ब्लॉगर हैं। वह लोगों की मदद करना और उनका मार्गदर्शन करना पसंद करते हैं। इसलिए वह इस ब्लॉग "ट्यूटोरियल इन हिंदी" में अपना ज्ञान हिंदी भाषा में साझा करते हैं। अगर आपको यह पोस्ट मददगार लगे तो इसे शेयर जरूर करें।

कोई जवाब दें

कृपया अपनी टिप्पणी दर्ज करें!
कृपया अपना नाम यहाँ दर्ज करें

2 × 3 =