logo

متغيرات الواجهة في جافا

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

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

دعونا نفكر في مثال لفهم متغيرات الواجهة بشكل أفضل:

 public interface Shape { int DEFAULT_SIZE = 10; void draw(); } 

في هذا المثال، تحدد واجهة الشكل متغير واجهة يسمى DEFAULT_SIZE، والذي تم تعيين قيمة له 10. يمكن للفئات المنفذة استخدام هذا المتغير لتوفير حجم افتراضي لأشكال مختلفة.

استخدام متغيرات الواجهة

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

تصفية بيثون

خذ بعين الاعتبار المثال التالي:

 public interface Constants { String DATABASE_URL = 'jdbc:mysql://localhost:3306/mydatabase'; String USERNAME = 'root'; String PASSWORD = 'password123'; } public class DatabaseConnection { // Code for establishing a database connection using the constants } 

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

برنامج يوضح متغيرات الواجهة

 public interface Currency { String SYMBOL = '$'; double convertToUSD(double amount); } public class Dollar implements Currency { public double convertToUSD(double amount) { return amount; } } public class Euro implements Currency { public double convertToUSD(double amount) { return amount * 1.18; } } public class Main { public static void main(String[] args) { Currency dollar = new Dollar(); Currency euro = new Euro(); double amount = 100; System.out.println('Amount in dollars: ' + dollar.convertToUSD(amount) + SYMBOL); System.out.println('Amount in euros: ' + euro.convertToUSD(amount) + SYMBOL); } } 

انتاج:

 Amount in dollars: 100$ Amount in euros: 118$ 

في هذا البرنامج قمنا بتعريف واجهة تسمى العملة والتي تتضمن متغير الواجهة SYMBOL الذي يمثل رمز العملة. تحدد واجهة العملة أيضًا طريقة تحويل ToUSD() لتحويل المبلغ إلى USD.

تقوم فئة Dollar وفئة Euro بتنفيذ واجهة العملة وتوفر التنفيذ الخاص بها لطريقة ConvertToUSD().

تسجيل الذاكرة

في الفئة الرئيسية، نقوم بإنشاء مثيلات للدولار واليورو ونخصص المبلغ إلى 100. ثم نستخدم متغير الواجهة SYMBOL لعرض المبلغ المحول إلى الدولار واليورو.

يوضح البرنامج كيف يمكن استخدام متغيرات الواجهة لتوفير وظائف مشتركة عبر تطبيقات مختلفة.

وعلاوة على ذلك، قمنا بفحص البرنامج الذي أظهر تنفيذ متغيرات الواجهة في العمل. باستخدام واجهة العملة ومتغير الواجهة SYMBOL، تمكنا من تحويل مبلغ إلى الدولار واليورو أثناء عرض رموز العملة المقابلة.

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

نقطة لنتذكر

  1. يجب دائمًا الإعلان عن متغيرات الواجهة وتعيين قيمة لها. ولا يمكن تركها بدون تهيئتها.
  2. متغيرات الواجهة ثابتة ضمنيًا، مما يعني أنها تنتمي إلى الواجهة نفسها بدلاً من المثيلات الفردية لفئات التنفيذ.
  3. يوصى باستخدام الأحرف الكبيرة والشرطات السفلية لتسمية متغيرات الواجهة، وذلك باتباع اصطلاحات التسمية القياسية للثوابت.
  4. تذكر أن متغيرات الواجهة هي ثوابت ولا يمكن تعديلها بعد التهيئة. ستؤدي محاولة تعديل متغير الواجهة إلى حدوث خطأ في الترجمة.
  5. عند تنفيذ واجهة، يمكنك الوصول مباشرة إلى متغيرات الواجهة دون الحاجة إلى أي مؤهلات (على سبيل المثال، يمكن الوصول إلى العملة.SYMBOL كرمز داخل فئة التنفيذ).
  6. من خلال وضع هذه النصائح في الاعتبار والاستفادة من قوة متغيرات الواجهة، يمكنك إنشاء برامج Java أكثر مرونة وموحدة يسهل صيانتها وتوسيعها.