सी++ एनकैप्सुलेशन
कैप्सूलीकरण
Encapsulation का अर्थ यह सुनिश्चित करना है कि "संवेदनशील" डेटा उपयोगकर्ताओं से छिपा हुआ है। इसे प्राप्त करने के लिए, आपको वर्ग चर/विशेषताओं को घोषित करना होगा private
(कक्षा के बाहर से पहुँचा नहीं जा सकता)। यदि आप चाहते हैं कि अन्य लोग किसी निजी सदस्य के मूल्य को पढ़ें या संशोधित करें, तो आप सार्वजनिक प्राप्त और
सेट विधियाँ प्रदान कर सकते हैं।
निजी सदस्यों तक पहुंचें
एक निजी विशेषता तक पहुँचने के लिए, सार्वजनिक "प्राप्त करें" और "सेट" विधियों का उपयोग करें:
उदाहरण
#include <iostream>
using namespace std;
class Employee {
private:
// Private attribute
int salary;
public:
// Setter
void setSalary(int s) {
salary = s;
}
// Getter
int getSalary() {
return salary;
}
};
int
main() {
Employee myObj;
myObj.setSalary(50000);
cout << myObj.getSalary();
return 0;
}
उदाहरण समझाया गया
salary
विशेषता है private
, जिसकी पहुंच प्रतिबंधित है ।
सार्वजनिक setSalary()
विधि एक पैरामीटर ( s
) लेती है और इसे
salary
विशेषता (वेतन = s) को निर्दिष्ट करती है।
सार्वजनिक getSalary()
विधि निजी salary
विशेषता का मान लौटाती है।
अंदर , हम कक्षा main()
का एक ऑब्जेक्ट बनाते हैं । Employee
अब हम
setSalary()
निजी विशेषता के मान को पर सेट करने के लिए विधि का उपयोग कर सकते हैं 50000
। फिर हम
getSalary()
मान वापस करने के लिए ऑब्जेक्ट पर विधि को कॉल करते हैं।
एनकैप्सुलेशन क्यों?
- अपनी कक्षा विशेषताओं को निजी (जितनी बार आप कर सकते हैं) घोषित करना अच्छा अभ्यास माना जाता है। Encapsulation आपके डेटा का बेहतर नियंत्रण सुनिश्चित करता है, क्योंकि आप (या अन्य) अन्य भागों को प्रभावित किए बिना कोड के एक हिस्से को बदल सकते हैं
- डेटा की बढ़ी सुरक्षा