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

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


एनकैप्सुलेशन क्या है?

डेटा और उस डेटा को मैनिपुलेट करने वाले मेथड्स को एक ही घटक (क्लास) में बांधना और बाहरी हस्तक्षेप से बचाना। डेटा छिपाने (data hiding) की ओर ले जाता है।

C++ में कार्यान्वयन

क्लासेस (उपयोगकर्ता-परिभाषित डेटा प्रकार) का उपयोग करके। क्लास डेटा सदस्यों और मेथड्स को एक साथ बांधती है।

C++ प्रोग्राम उदाहरण

#include <iostream>
using namespace std;

class EncapsulationDemo {
private:
    int length, breadth, height;
public:
    void setValues(int l, int b, int h) {
        length = l;
        breadth = b;
        height = h;
    }
    void calcVolume() {
        cout << "Length = " << length << endl;
        cout << "Breadth = " << breadth << endl;
        cout << "Height = " << height << endl;
        cout << "Volume = " << length * breadth * height << endl;
    }
};

int main() {
    EncapsulationDemo obj;
    obj.setValues(5, 3, 2);
    obj.calcVolume();
    return 0;
}

आउटपुट

Length = 5
Breadth = 3
Height = 2
Volume = 30

कोड व्याख्या

EncapsulationDemo क्लास

length, breadth, height प्राइवेट हैं - बाहर से सीधे एक्सेस नहीं किए जा सकते। पब्लिक फ़ंक्शंस setValues() और calcVolume() नियंत्रित एक्सेस प्रदान करते हैं।

मुख्य फ़ंक्शन

ऑब्जेक्ट बनाता है, setValues() से मान सेट करता है, calcVolume() से आयतन गणना और प्रदर्शन करता है।

लाभ

  • डेटा छिपाना: आंतरिक प्रतिनिधित्व छिपा रहता है
  • नियंत्रित एक्सेस: सेटर्स/गेटर्स के माध्यम से सत्यापन संभव
  • रखरखाव: आंतरिक कार्यान्वयन बदलने पर बाहरी कोड प्रभावित नहीं होता
  • पुन: उपयोगिता: क्लास को स्वतंत्र इकाई के रूप में उपयोग किया जा सकता है

एनकैप्सुलेशन बनाम एब्स्ट्रैक्शन

पहलूएनकैप्सुलेशनएब्स्ट्रैक्शन
फोकसडेटा और मेथड्स बांधनाआवश्यक विवरण दिखाना, कार्यान्वयन छिपाना
स्तरकार्यान्वयन स्तरडिजाइन/इंटरफेस स्तर
कीवर्डprivate, protectedabstract, interface
  1. - C++ में Switch स्टेटमेंट: एक पूर्ण गाइड

    C++ में Switch स्टेटमेंट का उपयोग कैसे करें कंडीशनल स्टेटमेंट्स सभी प्रोग्रामिंग भाषाओं की एक सामान्य विशेषता हैं। इन स्टेटमेंट्स का उपयोग प्रोग्राम के प्रवाह को नियंत्रित करने और यह निर्दिष्ट करने के लिए किया जाता है कि कोड के विशिष्ट ब्लॉक्स कब निष्पादित होने चाहिए। C++ में उपयोग किए जाने वाले मुख

  1. - C++ में मितव्ययी संख्या (Frugal Number)

    इस समस्या में, हमें एक धनात्मक पूर्णांक N दिया गया है। हमारा कार्य यह जांचने के लिए एक प्रोग्राम बनाना है कि दी गई संख्या मितव्ययी संख्या है या नहीं। मितव्ययी संख्या (FRUGAL NUMBER) − एक संख्या जिसके अंकों की संख्या उस संख्या के अभाज्य गुणनखंडन में अंकों की संख्या से सख्ती से अधिक है। उदाहरण &

  1. C++ में पेंटाटोप संख्या C++ में पेंटाटोप संख्या

    एक पेंटाटोप संख्या को पास्कल के त्रिभुज में पांचवीं संख्या के रूप में वर्णित किया गया है। अब, चूंकि यह पांचवीं संख्या है, इसका मतलब है कि पास्कल के त्रिभुज में कम से कम पांच संख्याएं होनी चाहिए, इसलिए इस श्रृंखला की पहली संख्या 1 4 6 4 1 से शुरू होती है जो पास्कल के त्रिभुज की चौथी पंक्ति है। तो, इस