CodeGym/Java Blog/अनियमित/जावा में एक्सेसर्स और म्यूटेटर्स
John Squirrels
स्तर 41
San Francisco

जावा में एक्सेसर्स और म्यूटेटर्स

अनियमित ग्रुप में प्रकाशित
सदस्य
इससे पहले कि हम इस अवधारणा में गोता लगाएँ, आपको जावा में कक्षाओं और एनकैप्सुलेशन के बारे में पता होना चाहिए ।

जावा में एनकैप्सुलेशन

एनकैप्सुलेशन, जैसा कि नाम से पता चलता है, डेटा और विधियों को एक इकाई के रूप में संलग्न करने की प्रक्रिया है। ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में , एक वर्ग के डेटा सदस्यों को उन तक सीधी पहुंच को प्रतिबंधित करने के लिए निजी बनाया जाता है। इसलिए इनकैप्सुलेटेड डेटा सदस्यों को ठीक से परिभाषित तरीके के बिना पुनर्प्राप्त या संशोधित नहीं किया जा सकता है। इसके लिए हम जावा में एक्सेसर और म्यूटेटर विधियों को परिभाषित करते हैं। आइए इन तरीकों को विस्तार से देखें।

जावा में एक्सेसर्स और म्यूटेटर्स क्या हैं?

पहुंचकर्ता

एक्सेसर विधि का नाम " एक्सेस " शब्द से संचालित होता है जो उपयोगकर्ता को कक्षा में निजी जानकारी तक पहुंचने की अनुमति देता है। यदि आपने कभी “ गेट ” मेथड या “ गेटर्स ” के बारे में सुना है, तो यह एक्सेसर्स के समान ही है। गेटर्स एक वर्ग के दायरे से बाहर पहुंचने के लिए निजी चर और स्थिरांक को पुनः प्राप्त करते हैं।

वाक्य - विन्यास

हम जावा एक्सेसर्स के लिए “ get ” कीवर्ड का उपयोग करते हैं । वेरिएबल “ name ” को एक्सेस करने के लिए हम निम्नलिखित गेट्टर getName() का उपयोग कर सकते हैं । एक्सेसर विधि के उदाहरण के लिए, निम्नलिखित पर एक नज़र डालें।
public class Student {

	private String name;

	public String getName() {
		return name;
	}
}
कृपया ध्यान दें कि प्रत्येक प्राप्तकर्ता के पास विधि हस्ताक्षर में चर नाम से पहले " प्राप्त करें " कीवर्ड होता है और रिटर्न प्रकार वही होता है जो कि लौटाए जाने वाले चर का होता है। चूंकि चर " नाम " एक " स्ट्रिंग " प्रकार का है, इसलिए गेट्टर / एक्सेसर विधि भी " स्ट्रिंग " लौटाती है।

उत्परिवर्तक

जावा में म्यूटेटर विधि "म्यूट" शब्द से प्रेरित है, जिसका शाब्दिक अर्थ संशोधित करना है। म्यूटेटर उपयोगकर्ताओं को क्लास ऑब्जेक्ट के निजी चर के मान को सेट/म्यूट करने की अनुमति देते हैं। वस्तु-उन्मुख प्रोग्रामिंग संदर्भ में, " सेट " विधि या " सेटर्स " को म्यूटेटर के रूप में भी जाना जाता है। सेटर्स एनकैप्सुलेशन की सुविधा प्रदान करते हैं क्योंकि निजी डेटा सदस्यों को सीधे संशोधित नहीं किया जा सकता है। तो वर्ग के दायरे के बाहर एक चर के मान को अद्यतन करने के लिए सेटर विधियों/म्यूटेटर का उपयोग किया जाता है।

वाक्य - विन्यास

म्यूटेटर्स के लिए, हम " सेट " कीवर्ड का उपयोग करते हैं। प्रत्येक सेटर को "सेट" कीवर्ड द्वारा परिभाषित किया जाता है, जिसके बाद वेरिएबल के नाम को उत्परिवर्तित करने की आवश्यकता होती है। यहां, हम सेटर सेटनेम () का उपयोग करते हैं जो एक स्ट्रिंग प्रकार चर को एक पैरामीटर के रूप में लेता है।
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()));
	}
}

उत्पादन

छात्र विवरण [एक्सेसर्स और म्यूटेटर्स का उपयोग करने से पहले] नाम: शून्य आईडी: शून्य जीपीए: 0.0 डीओबी: शून्य पाठ्यक्रम: शून्य छात्र जीवन [म्यूटेटर्स और एक्सेसर्स का उपयोग करने के बाद] नाम: एलेक्स कॉय आईडी: 3115 जीपीए: 2.79 जन्म तिथि: 08/08/1998 पाठ्यक्रम: [ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग, क्रिप्टोग्राफी, फोटोग्राफी, नेटवर्क सुरक्षा]

निष्कर्ष

यह जावा में एक्सेसर्स और म्यूटेटर्स का एक त्वरित परिचय और उदाहरण था। आपको सलाह दी जाती है कि आप अपने स्वयं के नमूना उदाहरण बनाएँ और इन विधियों का स्वयं परीक्षण करें। अगले अभ्यास के रूप में, आप आईडीई द्वारा स्वचालित रूप से गेटर्स और सेटर जोड़ने के तरीके खोज सकते हैं। पता करें और हमें बताएं!
टिप्पणियां
  • लोकप्रिय
  • नया
  • पुराना
टिप्पणी लिखने के लिए आपको साइन इन करना होगा
इस पेज पर अभी तक कोई टिप्पणियां नहीं हैं