واجهة في Java مع المثال
ما هي الواجهة في Java?
An واجهة في Java يتم تعريف لغة البرمجة كنوع مجردة يستخدم لتحديد سلوك فئة ما. أ Java تحتوي الواجهة على ثوابت ثابتة وأساليب مجردة. يمكن للفئة تنفيذ واجهات متعددة. في Java، يتم الإعلان عن الواجهات باستخدام الكلمة الأساسية للواجهة. جميع الأساليب الموجودة في الواجهة عامة ومجردة ضمنيًا.
بناء الجملة للإعلان عن الواجهة
لاستخدام واجهة في صفك، قم بإلحاق الكلمة الأساسية "تنفذ" بعد اسم فصلك متبوعًا باسم الواجهة.
interface {
//methods
}
مثال لتنفيذ الواجهة
الآن، دعونا نفهم الواجهة في Java مع المثال:
class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle
انقر هنا إذا لم يكن من الممكن الوصول إلى الفيديو
لماذا هناك حاجة إلى واجهة؟
لفهم استخدام الواجهة في Java أفضل، دعونا نرى Java مثال الواجهة. تحتوي فئة "Media Player" على فئتين فرعيتين: مشغل الأقراص المضغوطة ومشغل DVD. لكل منها تنفيذ واجهة فريدة من نوعها Java طريقة تشغيل الموسيقى.
هناك فئة أخرى "محرك التحرير والسرد" ترث كلاً من الأقراص المضغوطة وأقراص DVD (انظر الصورة أدناه). ما هي طريقة اللعب التي يجب أن ترثها؟ قد يتسبب هذا في حدوث مشكلات خطيرة في التصميم. ومن هنا، Java لا يسمح متعددة وراثة.
الآن لنأخذ مثالاً آخر للكلب.
لنفترض أن لديك متطلبًا حيث ترث فئة "كلب" فئة "حيوان" و"حيوان أليف" (انظر الصورة أدناه). ولكن لا يمكنك تمديد فئتين في Java. فماذا ستفعل؟ الحل هو الواجهة
يقول كتاب القواعد للواجهة،
- A Java واجهة التنفيذ عبارة عن فئة مجردة بنسبة 100٪ وتحتوي على طرق مجردة.
- يمكن للفئة تنفيذ أي عدد من الواجهات.
يمكن أن يمتد Class Dog إلى فئة "Animal" وتنفيذ الواجهة كـ "Pet".
Java مثال الواجهة:
دعونا نفهم برنامج الواجهة أدناه في Java:
الخطوة 1) انسخ الكود التالي إلى المحرر.
interface Pet{
public void test();
}
class Dog implements Pet{
public void test(){
System.out.println("Interface Method Implemented");
}
public static void main(String args[]){
Pet p = new Dog();
p.test();
}
}
الخطوة 2) حفظ وتجميع وتشغيل التعليمات البرمجية. مراقبة إخراج الواجهة في Java برنامج.
الفرق بين الفئة والواجهة
| في الفصل، يمكنك إنشاء مثيل للمتغير وإنشاء كائن. | في الواجهة، لا يمكنك إنشاء مثيل للمتغير وإنشاء كائن. |
| يمكن أن يحتوي الفصل على طرق ملموسة (مع التنفيذ). | لا يمكن أن تحتوي الواجهة على طرق محددة (مع التنفيذ). |
| محددات الوصول المستخدمة مع الفئات خاصة ومحمية وعامة. | في الواجهة يتم استخدام محدد واحد فقط - عام. |
متى يتم استخدام الواجهة وفئة الملخص؟
- استخدم فئة مجردة عندما يلزم تعريف القالب لمجموعة من الفئات الفرعية
- استخدم واجهة عندما يلزم تحديد دور لفئات أخرى، بغض النظر عن شجرة الميراث لهذه الفئات
يجب أن تعرف حقائق حول الواجهة
- A Java يمكن للفصل تنفيذ عدة Java واجهات. من الضروري أن يقوم الفصل بتنفيذ جميع الطرق المعلنة في الواجهات.
- يجب أن يتجاوز الفصل كافة الأساليب المجردة المعلنة في الواجهة
- تسمح الواجهة بإرسال رسالة إلى كائن دون الحاجة إلى تحديد الفئات التي ينتمي إليها.
- يحتاج الفصل إلى توفير وظائف للطرق المعلنة في الواجهة.
- جميع الأساليب في الواجهة عامة ومجردة ضمنيًا
- لا يمكن إنشاء مثيل للواجهة
- يمكن أن يشير مرجع الواجهة إلى كائنات من فئات التنفيذ الخاصة به
- يمكن أن تمتد الواجهة من واجهة واحدة أو أكثر. يمكن للفئة توسيع فئة واحدة فقط مع تنفيذ أي عدد من الواجهات
- لا يمكن للواجهة تنفيذ واجهة أخرى. يجب عليه تمديد واجهة أخرى إذا لزم الأمر.
- تتم الإشارة إلى الواجهة التي تم الإعلان عنها داخل واجهة أخرى على أنها واجهة متداخلة
- في وقت الإعلان، يجب تهيئة متغير الواجهة. وإلا، فسيقوم المترجم بإلقاء خطأ.
- لا يمكن للفئة تنفيذ واجهتين في Java لهما أساليب بنفس الاسم ولكن بنوع إرجاع مختلف.
ملخص:
- تحتاج الفئة التي تنفذ الواجهة إلى توفير وظائف للطرق المعلنة في الواجهة
- جميع الأساليب في الواجهة عامة ومجردة ضمنيًا
- لا يمكن إنشاء مثيل للواجهة
- يمكن أن يشير مرجع الواجهة إلى كائنات من فئات التنفيذ الخاصة به
- يمكن أن تمتد الواجهة من واجهة واحدة أو أكثر. يمكن للفئة توسيع فئة واحدة فقط ولكن يمكنها تنفيذ أي عدد من الواجهات




