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