encapsulation in java कोड और डेटा को एक साथ single unit में लपेटने (wrapping) की एक प्रक्रिया है, उदाहरण के लिए, एक कैप्सूल जो कई दवाओं का मिश्रित होता है।
हम कक्षा के सभी डेटा सदस्यों को निजी बनाकर जावा में पूरी तरह से इनकैप्सुलेटेड क्लास बना सकते हैं। अब हम इसमें डेटा सेट करने और प्राप्त करने के लिए सेटर और गेटर विधियों का उपयोग कर सकते हैं।
जावा बीन क्लास पूरी तरह से एनकैप्सुलेटेड क्लास का उदाहरण है।
Advantage of Encapsulation in Java in Hindi
केवल एक सेटर या गेट्टर विधि प्रदान करके, आप कक्षा को केवल-पढ़ने या केवल-लिखने के लिए बना सकते हैं। दूसरे शब्दों में, आप गेट्टर या सेटर विधियों को छोड़ सकते हैं।
यह आपको डेटा पर नियंत्रण प्रदान करता है। मान लीजिए कि आप id का मान सेट करना चाहते हैं जो केवल 100 से अधिक होना चाहिए, आप सेटर विधि के अंदर तर्क लिख सकते हैं। आप नकारात्मक संख्याओं को सेटर विधियों में संग्रहीत न करने का तर्क लिख सकते हैं।
यह जावा में डेटा छुपाने का एक तरीका है क्योंकि अन्य वर्ग निजी डेटा सदस्यों के माध्यम से डेटा तक नहीं पहुंच पाएंगे।
इनकैप्सुलेट क्लास का परीक्षण करना आसान है। तो, यह इकाई परीक्षण के लिए बेहतर है।
मानक आईडीई गेटर्स और सेटर्स उत्पन्न करने की सुविधा प्रदान कर रहे हैं। तो, जावा में एक इनकैप्सुलेटेड क्लास बनाना आसान और तेज़ है।
Simple Example of Encapsulation in Java in Hindi
आइए इनकैप्सुलेशन का सरल उदाहरण देखें जिसमें सेटर और गेट्टर विधियों के साथ केवल एक फ़ील्ड है।
File: Student.java
- //A Java class which is a fully encapsulated class.
- //It has a private data member and getter and setter methods.
- package com.javatpoint;
- public class Student{
- //private data member
- private String name;
- //getter method for name
- public String getName(){
- return name;
- }
- //setter method for name
- public void setName(String name){
- this.name=name
- }
- }
File: Test.java
- //A Java class to test the encapsulated class.
- package com.javatpoint;
- class Test{
- public static void main(String[] args){
- //creating instance of the encapsulated class
- Student s=new Student();
- //setting value in the name member
- s.setName("shubham");
- //getting value of the name member
- System.out.println(s.getName());
- }
- }
OUTPUT
shubham
Read only class
- //A Java class which has only getter methods.
- public class Student{
- //private data member
- private String college="AKG";
- //getter method for college
- public String getCollege(){
- return college;
- }
- }
अब, आप कॉलेज डेटा सदस्य का मान नहीं बदल सकते जो "AKG" है।
s.setCollege("KITE");//will render compile time error
Write-Only class
- //A Java class which has only setter methods.
- public class Student{
- //private data member
- private String college;
- //getter method for college
- public void setCollege(String college){
- this.college=college;
- }
- }
- System.out.println(s.getCollege());//Compile Time Error, because there is no such method
- System.out.println(s.college);//Compile Time Error, because the college data member is private.
- //So, it can't be accessed from outside the class
ओउ, आप कॉलेज का मूल्य नहीं प्राप्त कर सकते हैं, आप केवल कॉलेज डेटा सदस्य के मूल्य को बदल सकते हैं।
No comments:
Post a Comment