2.9 KiB
title | localeTitle |
---|---|
Getters & Setters | رسائل ورسائل |
رسائل ورسائل
يتم استخدام Getters و Setters لحماية بياناتك بشكل فعال ، خاصة عند إنشاء الفصول الدراسية. لكل متغير مثيل ، ترجع طريقة getter قيمته في حين تقوم أداة setter بتعيين أو تحديث قيمتها. يُعرف أيضًا "Getters" و "setters" كـ accessors و mutators ، على التوالي.
من خلال الاتفاقية ، يبدأ getters بالحصول على ، متبوعًا باسم المتغير ، مع الحرف الأول من اسم المتغير بالأحرف الكبيرة. تبدأ الحروف بمجموعة ، متبوعة باسم المتغير ، مع الحرف الأول من اسم المتغير بالأحرف الكبيرة.
مثال:
`public class Vehicle { private String color;
// Getter public String getColor() { return color; }
// Setter public void setColor(String c) { this.color = c; } } `
ترجع طريقة getter قيمة السمة. تأخذ طريقة الضبط معلمة وتعينها للسمة.
بمجرد أن يتم تعريف الستر والأدوات ، نستخدمها في هدفنا الرئيسي:
`public stativ void main(String[] args) { Vehicle v1 = new Vehicle(); v1.setColor("Red"); System.out.println(v1.getColor()); }
// Outputs "Red" `
تسمح الحروف والأصوات بالتحكم في القيم. يمكنك التحقق من صحة القيمة المحددة في أداة التحديد قبل تعيين القيمة فعليًا.
لماذا الضيق والواضع؟
باستخدام أداة getter و setter ، يمكن للمبرمج التحكم في كيفية الوصول إلى المتغيرات الهامة وتحديثها ، مثل تغيير قيمة متغير داخل نطاق محدد. خذ بعين الاعتبار التعليمة البرمجية التالية لطريقة setter:
public void setNumber(int num) { if (num < 10 || num > 100) { throw new IllegalArgumentException(); } this.number = num; }
وهذا يضمن تعيين قيمة الرقم دائمًا بين 10 و 100. إذا كان المبرمج يسمح بتحديث رقم المتغير مباشرة ، يمكن للمتصل تعيين أي قيمة عشوائية له:
obj.number = 3;
هذا ينتهك القيد لقيم تتراوح بين 10 إلى 100 لهذا المتغير. نظرًا لأننا لا نتوقع حدوث ذلك ، فإن إخفاء رقم المتغير كخاصية خاصة واستخدام أداة ضبط يمنعه. من ناحية أخرى ، فإن طريقة الوسيلة هي الطريقة الوحيدة للعالم الخارجي لقراءة قيمة المتغير:
public int getNumber() { return this.number; }