CodeGym /جاوا بلاگ /Random-UR /جاوا میں ایکسیسرز اور میوٹیٹر
John Squirrels
سطح
San Francisco

جاوا میں ایکسیسرز اور میوٹیٹر

گروپ میں شائع ہوا۔
اس تصور میں جانے سے پہلے، آپ کو Java میں کلاسز اور encapsulation کے بارے میں آگاہ ہونا ضروری ہے ۔

جاوا میں انکیپسولیشن

Encapsulation، جیسا کہ نام سے ظاہر ہے، ڈیٹا اور طریقوں کو ایک اکائی کے طور پر بند کرنے کا عمل ہے۔ آبجیکٹ پر مبنی پروگرامنگ میں ، کسی کلاس کے ڈیٹا ممبران کو ان تک براہ راست رسائی کو محدود کرنے کے لیے نجی بنایا جاتا ہے۔ لہذا انکیپسلیٹڈ ڈیٹا ممبرز کو صحیح طریقے سے متعین طریقے کے بغیر بازیافت یا ترمیم نہیں کیا جاسکتا ہے۔ اس کے لیے ہم جاوا میں ایکسیسر اور میوٹیٹر طریقوں کی وضاحت کرتے ہیں۔ آئیے ان طریقوں کو تفصیل سے دیکھتے ہیں۔

جاوا میں ایکسیسرز اور میوٹیٹر کیا ہیں؟

ایکسیسرز

رسائی کے طریقہ کار کا نام لفظ " رسائی " سے چلتا ہے جو صارف کو کلاس میں نجی معلومات تک رسائی کی اجازت دیتا ہے۔ اگر آپ نے کبھی " گیٹ " طریقہ یا " گیٹرز " کے بارے میں سنا ہے، تو یہ ایکسیسرز کی طرح ہی ہے۔ حاصل کرنے والے کلاس کے دائرہ کار سے باہر رسائی کے لیے نجی متغیرات اور مستقل کو بازیافت کرتے ہیں۔

نحو

ہم جاوا ایکسیسرز کے لیے کلیدی لفظ " get " استعمال کرتے ہیں۔ متغیر " name " تک رسائی کے لیے ہم درج ذیل getter getName() استعمال کر سکتے ہیں ۔ رسائی کے طریقہ کار کی مثال کے لیے، درج ذیل پر ایک نظر ڈالیں۔
public class Student {

	private String name;

	public String getName() {
		return name;
	}
}
براہ کرم نوٹ کریں کہ ہر حاصل کرنے والے کے پاس طریقہ کے دستخط میں متغیر کے نام سے پہلے کلیدی لفظ " get " ہوتا ہے اور واپسی کی قسم وہی ہے جو واپس کیے جانے والے متغیر کی ہے۔ چونکہ متغیر " نام " " اسٹرنگ " قسم کا ہے ، اس لیے گیٹر/ایکسسر کا طریقہ بھی " اسٹرنگ " لوٹاتا ہے۔

میوٹیٹر

جاوا میں میوٹیٹر کا طریقہ لفظ "میوٹیٹ" سے چلتا ہے، جس کا لفظی مطلب ہے ترمیم کرنا۔ Mutators صارفین کو کلاس آبجیکٹ کے پرائیویٹ متغیرات کی قدر سیٹ/میوٹیٹ کرنے کی اجازت دیتے ہیں۔ آبجیکٹ اورینٹڈ پروگرامنگ سیاق و سباق میں، " سیٹ " طریقہ یا " setters " کو بھی mutators کے نام سے جانا جاتا ہے۔ سیٹرز انکیپسولیشن کی سہولت فراہم کرتے ہیں کیونکہ پرائیویٹ ڈیٹا ممبرز کو براہ راست تبدیل نہیں کیا جا سکتا۔ لہذا سیٹر کے طریقے/میوٹیٹر کلاس کے دائرہ کار سے باہر متغیر کی قدر کو اپ ڈیٹ کرنے کے لیے استعمال کیے جاتے ہیں۔

نحو

mutators کے لیے، ہم " set " کلیدی لفظ استعمال کرتے ہیں۔ ہر سیٹٹر کی تعریف کلیدی لفظ "set" سے کی جاتی ہے جس کے بعد متغیر کا نام ہوتا ہے جسے تبدیل کرنے کی ضرورت ہوتی ہے۔ یہاں، ہم سیٹٹر سیٹ نام() استعمال کرتے ہیں جو پیرامیٹر کے طور پر اسٹرنگ قسم کے متغیر کو لیتا ہے۔
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()));
	}
}

آؤٹ پٹ

طالب علم کا بائیو [ایکسیسرز اور میٹیٹرز استعمال کرنے سے پہلے] نام: null ID: null GPA: 0.0 DOB: null Courses: null Student Bio [Mutators & Accessors استعمال کرنے کے بعد] نام: Alex Coy ID: 3115 GPA: 2.79 DOB: 08/08/1998 کورسز: [آبجیکٹ اورینٹڈ پروگرامنگ، کرپٹوگرافی، فوٹوگرافی، نیٹ ورک سیکیورٹی]

نتیجہ

یہ جاوا میں ایکسیسرز اور میوٹیٹروں کا ایک فوری تعارف اور مثال تھی۔ آپ کو مشورہ دیا جاتا ہے کہ اپنے نمونے کی مثالیں خود بنائیں اور ان طریقوں کو اپنے لیے جانچیں۔ اگلی مشق کے طور پر، آپ IDE کے ذریعے خود بخود گیٹرز اور سیٹرز کو شامل کرنے کے طریقے تلاش کر سکتے ہیں۔ تلاش کریں اور ہمیں بتائیں!
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION