या संकल्पनेत जाण्यापूर्वी, तुम्हाला Java मधील वर्ग आणि encapsulation बद्दल माहिती असणे आवश्यक आहे .
जावा मध्ये एन्कॅप्सुलेशन
एन्कॅप्सुलेशन, नावाप्रमाणेच, डेटा आणि पद्धतींना एकल युनिट म्हणून संलग्न करण्याची प्रक्रिया आहे. ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंगमध्ये , वर्गातील डेटा सदस्यांना थेट प्रवेश प्रतिबंधित करण्यासाठी खाजगी केले जाते. त्यामुळे encapsulated डेटा सदस्य योग्यरित्या परिभाषित मार्गाशिवाय पुनर्प्राप्त किंवा सुधारित केले जाऊ शकत नाही. यासाठी, आम्ही Java मध्ये ऍक्सेसर आणि म्युटेटर पद्धती परिभाषित करतो. चला या पद्धतींचा तपशीलवार विचार करूया.Java मध्ये ऍक्सेसर्स आणि म्यूटेटर काय आहेत?
ऍक्सेसर्स
ऍक्सेसर पद्धतीचे नाव “ अॅक्सेस ” या शब्दाद्वारे चालविले जाते जे वापरकर्त्याला वर्गातील खाजगी माहितीमध्ये प्रवेश करण्यास अनुमती देते. जर तुम्ही कधीही “ गेट ” पद्धत किंवा “ गेटर्स ” बद्दल ऐकले असेल, तर ते ऍक्सेसर्स सारखेच आहे. गेटर्स वर्गाच्या व्याप्तीच्या बाहेर प्रवेश करण्यासाठी खाजगी चल आणि स्थिरांक पुनर्प्राप्त करतात.मांडणी
आम्ही Java ऍक्सेसर्ससाठी “ गेट ” हा कीवर्ड वापरतो . व्हेरिएबल “ name ” मध्ये प्रवेश करण्यासाठी आपण खालील getter getName() वापरू शकतो . ऍक्सेसर पद्धतीच्या उदाहरणासाठी, खालीलकडे पहा.
public class Student {
private String name;
public String getName() {
return name;
}
}
कृपया लक्षात घ्या की मेथड सिग्नेचरमधील व्हेरिएबलच्या नावापूर्वी प्रत्येक गेटरला “ गेट ” हा कीवर्ड आहे आणि रिटर्नचा प्रकार रिटर्न करायच्या व्हेरिएबल सारखाच आहे. व्हेरिएबल “ नाव ” “ स्ट्रिंग ” प्रकारातील असल्याने, गेटर/ऍक्सेसर पद्धत देखील “ स्ट्रिंग ” परत करते.
उत्परिवर्तक
जावा मधील उत्परिवर्तन पद्धत "म्युटेट" या शब्दाद्वारे चालविली जाते, ज्याचा शाब्दिक अर्थ बदलणे असा होतो. उत्परिवर्तक वापरकर्त्यांना क्लास ऑब्जेक्टच्या खाजगी व्हेरिएबल्सचे मूल्य सेट/परिवर्तन करण्याची परवानगी देतात. ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग संदर्भात, " सेट " पद्धत किंवा " सेटर " देखील उत्परिवर्तक म्हणून ओळखले जातात. खाजगी डेटा सदस्यांना थेट बदलता येत नाही म्हणून सेटर एन्कॅप्युलेशनची सुविधा देतात. म्हणून सेटर पद्धती/म्युटेटर्सचा वापर वर्ग व्याप्तीच्या बाहेर व्हेरिएबलचे मूल्य अपडेट करण्यासाठी केला जातो.मांडणी
उत्परिवर्तकांसाठी, आम्ही “ सेट ” कीवर्ड वापरतो. प्रत्येक सेटरची व्याख्या "सेट" या कीवर्डद्वारे केली जाते आणि त्यानंतर परिवर्तनीय व्हेरिएबलचे नाव दिले जाते. येथे, आम्ही सेटर setName() वापरतो जे पॅरामीटर म्हणून स्ट्रिंग प्रकार व्हेरिएबल घेते.
public class Student {
private String name;
public void setName(String name) {
this.name = name;
}
}
आम्हाला ऍक्सेसर्स आणि म्यूटेटर्सची गरज का आहे?
वर्गातील संवेदनशील माहितीचे संरक्षण करण्यासाठी आम्हाला गेटर्स आणि सेटर किंवा ऍक्सेसर्स आणि म्यूटेटरची आवश्यकता आहे. या मानक पद्धतींचा वापर करून माहिती बेकायदेशीर वापरापासून संरक्षित आहे. शिवाय, म्युटेटरमध्ये सेट केलेला डेटा प्रोग्रामच्या सर्व आवश्यकता पूर्ण करत असल्यास त्याचे प्रमाणीकरण देखील केले जाऊ शकते.ऍक्सेसर आणि म्यूटेटर उदाहरणे
खालील विद्यार्थी वर्ग वापरून, ऍक्सेसर आणि म्युटेटर पद्धतींची उदाहरणे पाहू.उदाहरण
import java.util.Arrays;
public class Student {
private String name;
private Integer ID;
private String DOB;
private double GPA;
private String[] courses;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getID() {
return ID;
}
public void setID(Integer iD) {
this.ID = iD;
}
public String getDOB() {
return DOB;
}
public void setDOB(String dOB) {
this.DOB = dOB;
}
public double getGPA() {
return GPA;
}
public void setGPA(double gPA) {
this.GPA = gPA;
}
public String[] getCourses() {
return courses;
}
public void setCourses(String[] courses) {
this.courses = courses;
}
public static void main(String[] args) {
Student student1 = new Student();
System.out.println("Student Bio [ Before using Accessors & Mutators ]");
// calling accessor methods
System.out.print("Name: " + student1.getName());
System.out.print("\tID: " + student1.getID());
System.out.print("\tGPA: " + student1.getGPA());
System.out.print("\tDOB: " + student1.getDOB());
System.out.println("\tCourses: " + Arrays.toString(student1.getCourses()));
// calling mutator methods
student1.setName("Alex Coy");
student1.setID(3115);
student1.setGPA(2.79);
student1.setDOB("08/08/1998");
String[] courses = { "Object Oriented Programming", "Cryptography", "Photography", "Network Security" };
student1.setCourses(courses);
System.out.println("\nStudent Bio [ After using Mutators & Accessors ]");
// calling accessor methods
System.out.print("Name: " + student1.getName());
System.out.print("\tID: " + student1.getID());
System.out.print("\tGPA: " + student1.getGPA());
System.out.print("\tDOB: " + student1.getDOB());
System.out.println("\tCourses: " + Arrays.toString(student1.getCourses()));
}
}
आउटपुट
विद्यार्थी बायो [ ऍक्सेसर्स आणि म्युटेटर्स वापरण्यापूर्वी ] नाव: नल आयडी: शून्य GPA: 0.0 DOB: null अभ्यासक्रम: null विद्यार्थी बायो [ Mutators आणि Accessors वापरल्यानंतर ] नाव: Alex Coy ID: 3115 GPA: 2.79 DOB: 08/08/1998 अभ्यासक्रम: [ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग, क्रिप्टोग्राफी, फोटोग्राफी, नेटवर्क सुरक्षा]
GO TO FULL VERSION