logo

Accessor و Mutator في جافا

في البرمجة الموجهة للكائنات، يعد التغليف مفهومًا أساسيًا يشير إلى ممارسة إخفاء تفاصيل تنفيذ كائن ما وتوفير واجهة للوصول إلى خصائصه وسلوكياته. تعد طرق الوصول والتحويل مفهومين مهمين يتعلقان بالتغليف في Java.

ملحق

أساليب الوصول، والمعروفة أيضًا بأساليب getter، هي أساليب تسمح لك باسترداد قيمة متغيرات المثيلات الخاصة للكائن. توفر هذه الأساليب وصولاً للقراءة فقط إلى حالة الكائن. باستخدام أساليب الوصول، يمكنك التأكد من عدم تعديل حالة الكائن عن طريق الخطأ أو بشكل ضار بواسطة تعليمات برمجية خارجية.

موتاتور

أساليب Mutator، والمعروفة أيضًا باسم أساليب الضبط، هي طرق تسمح لك بتعديل قيمة متغيرات الحالة الخاصة للكائن. توفر هذه الأساليب وصولاً للكتابة فقط إلى حالة الكائن. باستخدام أساليب mutator، يمكنك التأكد من تعديل حالة الكائن فقط من خلال واجهة يتم التحكم فيها.

دعونا نلقي نظرة على مثال لفهم مفهوم أساليب الوصول والمتحول في Java. لنفترض أن لدينا فئة تسمى 'الشخص' والتي تحتوي على ثلاثة متغيرات خاصة: الاسم والعمر والبريد الإلكتروني. نريد توفير الوصول إلى هذه المتغيرات باستخدام أساليب الوصول والمتحول.

 public class Person { private String name; private int age; private String email; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } } 

في هذا المثال، قمنا بتعريف ثلاث طرق للوصول: getName()، getAge()، وgetEmail()، وثلاث طرق mutator: setName()، setAge()، وsetEmail(). تقوم أساليب الوصول بإرجاع قيمة متغير المثيل المقابل، بينما تقوم أساليب mutator بتعيين قيمة متغير المثيل المقابل.

اصطلاح التسمية

يعد اصطلاح التسمية لأساليب الوصول والتحويل أمرًا مهمًا في Java. يجب تسمية أساليب الوصول بدءًا من 'get' متبوعة باسم المتغير، مع كتابة الحرف الأول بأحرف كبيرة. يجب تسمية أساليب Mutator بدءًا من 'set' متبوعة باسم المتغير، مع كتابة الحرف الأول بحرف كبير. يوضح اصطلاح التسمية هذا ما تفعله كل طريقة ويجعل التعليمات البرمجية أكثر قابلية للقراءة والصيانة.

تعد طرق الوصول والتحويل جزءًا أساسيًا من التغليف في Java. إنها تسمح لك بالتحكم في الوصول إلى حالة الكائن، مما يضمن الوصول إليها وتعديلها فقط من خلال واجهة يتم التحكم فيها. من خلال اتباع اصطلاح التسمية لطرق الوصول والمحوّل، يمكننا أن نجعل التعليمات البرمجية الخاصة بك أكثر قابلية للقراءة والصيانة.

فيما يلي مثال لبرنامج يوضح استخدام أساليب الوصول والمتحول في Java:

شخص.جافا

 import java.util.Scanner; public class Person { private String name; private int age; private String email; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Person person = new Person(); System.out.print('Enter name: '); String name = scanner.nextLine(); person.setName(name); System.out.print('Enter age: '); int age = scanner.nextInt(); person.setAge(age); scanner.nextLine(); // Consume the newline character left by nextInt() System.out.print('Enter email: '); String email = scanner.nextLine(); person.setEmail(email); System.out.println('
Name: ' + person.getName()); System.out.println('Age: ' + person.getAge()); System.out.println('Email: ' + person.getEmail()); } } 

انتاج:

 Name: Manoj Age: 21 Email: [email protected] 

في هذا المثال، تقوم الطريقة الرئيسية بإنشاء مثيل جديد لفئة الشخص وتستخدم أساليب التحويل (setName، وsetAge، وsetEmail) لتعيين قيم متغيرات المثيل الخاصة للكائن. بعد ذلك، يتم استخدام أساليب الوصول (getName، وgetAge، وgetEmail) لاسترداد قيم متغيرات المثيل وعرضها على وحدة التحكم.

الاستفادة من استخدام Accessor وMutator

تتمثل ميزة استخدام أساليب الوصول والتحويل في أنها تسمح لنا بإضافة التحقق من الصحة ومنطق المعالجة الآخر إلى عملية الحصول على حالة الكائن وتعيينها. على سبيل المثال، يمكنك إضافة فحص التحقق من الصحة إلى الأسلوب 'setAge(int age)' للتأكد من أن قيمة العمر تقع ضمن نطاق معين، أو إضافة منطق التنسيق إلى الأسلوب 'getName()' لتكبير الحرف الأول من اسم الشخص.