जावा - एनकैप्सुलेशन
Encapsulationचार मौलिक ओओपी अवधारणाओं में से एक है। अन्य तीन विरासत, बहुरूपता और अमूर्तता हैं।
जावा में एनकैप्सुलेशन एक एकल इकाई के रूप में डेटा (चर) और डेटा (विधियों) पर कोड अभिनय को लपेटने का एक तंत्र है। एनकैप्सुलेशन में, एक वर्ग के चर को अन्य वर्गों से छिपाया जाएगा, और केवल उनकी वर्तमान कक्षा के तरीकों के माध्यम से पहुँचा जा सकता है। इसलिए, इसे के रूप में भी जाना जाता हैdata hiding।
जावा में इनकैप्सुलेशन प्राप्त करने के लिए -
एक वर्ग के चरों को निजी घोषित करें।
चर मानों को संशोधित करने और देखने के लिए सार्वजनिक सेटर और गेट्टर विधियाँ प्रदान करें।
उदाहरण
निम्नलिखित एक उदाहरण है जो दर्शाता है कि जावा में एनकैप्सुलेशन कैसे प्राप्त किया जाए -
/* File name : EncapTest.java */
public class EncapTest {
private String name;
private String idNum;
private int age;
public int getAge() {
return age;
}
public String getName() {
return name;
}
public String getIdNum() {
return idNum;
}
public void setAge( int newAge) {
age = newAge;
}
public void setName(String newName) {
name = newName;
}
public void setIdNum( String newId) {
idNum = newId;
}
}
सार्वजनिक सेटएक्सएक्सएक्सएक्स () और गेटएक्सएक्सएक्सएक्स () विधियां एनकैपेस्ट क्लास के उदाहरण चर के पहुंच बिंदु हैं। आम तौर पर, इन विधियों को गेटर्स और सेटर के रूप में संदर्भित किया जाता है। इसलिए, कोई भी वर्ग जो चर को एक्सेस करना चाहता है, उन्हें इन गेटर्स और सेटर के माध्यम से एक्सेस करना चाहिए।
EncapTest वर्ग के चर निम्नलिखित कार्यक्रम का उपयोग करके पहुँचा जा सकता है -
/* File name : RunEncap.java */
public class RunEncap {
public static void main(String args[]) {
EncapTest encap = new EncapTest();
encap.setName("James");
encap.setAge(20);
encap.setIdNum("12343ms");
System.out.print("Name : " + encap.getName() + " Age : " + encap.getAge());
}
}
यह निम्नलिखित परिणाम का उत्पादन करेगा -
उत्पादन
Name : James Age : 20
एनकैप्सुलेशन के लाभ
एक वर्ग के क्षेत्रों को केवल-पढ़ने या केवल लिखने के लिए बनाया जा सकता है।
एक वर्ग के पास अपने क्षेत्रों में संग्रहीत किए गए कुल नियंत्रण हो सकते हैं।