وظيفتان مختلفتان
Getter أو Accessor تقرأ قيمة من الكائن. Setter أو Mutator تغيّر قيمة داخله. الأسماء getName وsetName توضح المقصود، لكنها ليست كلمات محجوزة في Java.
Accessor / Getter & Mutator / Setter
Getter أو Accessor تقرأ قيمة من الكائن. Setter أو Mutator تغيّر قيمة داخله. الأسماء getName وsetName توضح المقصود، لكنها ليست كلمات محجوزة في Java.
كيف يقرأ Getter: public String getName() { return name; } ترجع حقل name الخاص. main تستقبل القيمة المعادة دون الوصول المباشر للحقل.
كيف يعدّل Setter: public void setName(String n) { name = n; } تستقبل اسمًا في Parameter اسمه n وتنسخه إلى الحقل. لا ترجع قيمة، لذلك Return Type هو void.
استخدام Methods يجعل تغيير طريقة التعامل مع البيانات داخل Class ممكنًا لاحقًا. مثال الشرائح هنا إسناد وقراءة فقط؛ لا نزعم وجود تحقق من صحة الاسم.
public class TestClass {
public static void main(String[] args) {
Employee e1 = new Employee();
System.out.println("Before: " + e1.getName());
e1.setName("Mohamed");
System.out.println("After: " + e1.getName());
}
}public class Employee {
private String name;
public String getName() { return name; }
public void setName(String n) { name = n; }
}setName("Ali") تغيّر حالة الكائن؛ أما getName() فتقرأها. كتابة Getter وحدها لا تُدخل اسمًا جديدًا.
عدّل الاسم الممرر إلى setName. شاهد Before وAfter، ثم افتح Employee.java لتتبع Parameter حتى الحقل.
محاكاة لهذا المثال المحدد، وليست تشغيلًا لكود Java عشوائي.