العودة إلى الدورة

تنفيذ دوال الحصول والتعيين (Getters and Setters)

إتقان لغة Java: من الصفر إلى مطور محترف (رحلة من 50 درساً)

الدرس 19: تنفيذ دوال الحصول والتعيين

بما أننا نخفي البيانات باستخدام معدل الوصول private (الكبسلة)، فنحن بحاجة إلى دوال عامة مخصصة لقراءة وكتابة تلك البيانات بأمان. وتعرف هذه بدوال الوصول (getters) ودوال التعديل (setters).

1. دوال الحصول (Getters)

  • الغرض: استرجاع (قراءة) قيمة متغير خاص.
  • اصطلاح التسمية: يبدأ عادةً بـ get (أو is للحقول المنطقية boolean).
  • نوع الإرجاع: يطابق نوع المتغير.

2. دوال التعيين (Setters)

  • الغرض: تعديل (كتابة) قيمة متغير خاص.
  • اصطلاح التسمية: يبدأ عادةً بـ set.
  • نوع الإرجاع: دائماً void.
  • الأهم من ذلك، دوال التعيين هي المكان الذي تفرض فيه قواعد التحقق والمنطق.

مثال: فئة الطالب Student

java public class Student { private String name; private int age;

// Getter للاسم
public String getName() {
    return name;
}

// Setter للاسم
public void setName(String name) {
    // التحقق من الصحة:
    if (name != null && name.length() > 1) {
        this.name = name;
    }
}

// Getter للعمر
public int getAge() {
    return age;
}

// Setter للعمر (مع التحقق)
public void setAge(int age) {
    if (age > 0 && age < 120) {
        this.age = age;
    }
}

}

الاستخدام

java Student s = new Student(); s.setAge(25); // صحيح، يتم تعيين العمر s.setAge(-5); // مدخل غير صالح، يظل العمر على قيمته الافتراضية System.out.println(s.getAge()); // يقرأ العمر الذي تم التحقق منه