واجهة في Java مع المثال
⚡ ملخص ذكي
واجهة في Java هو عضلات بطنtracنوع يحدد السلوك الذي يجب أن تنفذه الفئة، ويحتوي على ثوابت وقيم مطلقةtracطرق t. يشرح هذا المورد ما هي الواجهة، ولماذا هي مطلوبة، وكيفية تعريفها وتنفيذها، وكيف تختلف الواجهات عن الفئات والأساليب المطلقة.tracفئات t.

ما هي الواجهة في Java?
An واجهة في Java تُعرَّف لغة البرمجة بأنها لغة برمجة مطلقةtracيُستخدم نوع t لتحديد سلوك فئة معينة. Java تحتوي الواجهة على ثوابت ثابتة وقيم مطلقةtracيمكن للفئة تطبيق عدة واجهات. Javaيتم تعريف الواجهات باستخدام الكلمة المفتاحية interface. جميع الطرق في الواجهة عامة ومطلقة ضمنيًا.tract.
بناء الجملة للإعلان عن الواجهة
لاستخدام واجهة في صفك، أضف الكلمة المفتاحية "implements" بعد اسم صفك، متبوعة باسم الواجهة.
interface { // methods }
مثال لتنفيذ الواجهة
والآن، دعونا نفهم الواجهات في Java مع مثال:
class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle
انقر اضغط هنا إذا كان الفيديو غير متاح.
انقر اضغط هنا إذا لم يكن من الممكن الوصول إلى الفيديو
لماذا هناك حاجة إلى واجهة؟
لفهم استخدام واجهة في Java الأفضل أن ننظر إلى Java مثال على واجهة المستخدم. تحتوي فئة "مشغل الوسائط" على فئتين فرعيتين: مشغل الأقراص المضغوطة ومشغل أقراص DVD. ولكل منهما طريقة تنفيذ واجهة فريدة لتشغيل الموسيقى.
هناك فئة أخرى، "محرك الأقراص المدمج"، ترث كلاً من مشغل الأقراص المضغوطة ومشغل أقراص DVD (انظر الصورة أدناه). أي طريقة تشغيل يجب أن ترثها؟ قد يتسبب هذا في مشاكل تصميمية خطيرة، وبالتالي، Java لا يسمح متعددة وراثة.
والآن دعونا نأخذ مثالاً آخر عن كلب.
لنفترض أن لديك شرطًا ينص على أن الفئة "dog" ترث الفئتين "animal" و"Pet" (انظر الصورة أدناه). ولكن لا يمكنك توسيع فئتين في آن واحد. Javaإذن، ما الذي ستفعله؟ الحل هو واجهة.
تنص قواعد واجهة المستخدم على ما يلي:
- A Java الواجهة مصنوعة بالكامل من مادة ABStracالفئة t ولديها فقط (ABS)tracطرق t.
- يمكن للفئة أن تُنفذ أي عدد من الواجهات.
يمكن للفئة 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 برنامج.
الفرق بين الفئة والواجهة
| الفئه | السطح البيني |
|---|---|
| في الفئة، يمكنك إنشاء متغيرات وإنشاء كائن. | في الواجهة، لا يمكنك إنشاء متغيرات أو إنشاء كائن. |
| يمكن أن يحتوي الصنف على أساليب ملموسة (مع التنفيذ). | لا يمكن أن تحتوي الواجهة على أساليب ملموسة (مع التنفيذ). |
| محددات الوصول المستخدمة مع الفئات هي: خاص، محمي، وعام. | في الواجهة، يتم استخدام مُحدد واحد فقط - عام. |
متى يتم استخدام الواجهة والامتصاصtracالفصل t؟
- استخدم عضلات البطنtracالفئة t عندما يلزم تعريف قالب لمجموعة من الفئات الفرعية.
- استخدم واجهة عندما يلزم تحديد دور لفئات أخرى، بغض النظر عن شجرة الوراثة لهذه الفئات.
يجب أن تعرف حقائق حول الواجهة
- A Java يمكن للفصل تنفيذ عدة Java الواجهات. من الضروري أن يقوم الصنف بتنفيذ جميع الطرق المعلنة في الواجهات.
- ينبغي أن تتجاوز الفئة جميع القيم المطلقةtracالطرق المعلنة في الواجهة.
- تتيح الواجهة إرسال رسالة إلى كائن دون الحاجة إلى معرفة الفئة التي ينتمي إليها.
- يجب أن يوفر الصنف وظائف للطرق المعلنة في الواجهة.
- جميع الطرق في الواجهة عامة ومطلقة ضمنيًاtract.
- لا يمكن إنشاء مثيل للواجهة.
- يمكن أن يشير مرجع الواجهة إلى كائنات من فئات التنفيذ الخاصة بها.
- يمكن للواجهة أن ترث من واجهة واحدة أو من عدة واجهات. ويمكن للفئة أن ترث من فئة واحدة فقط، ولكنها تُنفذ أي عدد من الواجهات.
- لا يمكن لواجهة برمجة تطبيقات أن تُنفذ واجهة أخرى. بل يجب عليها أن تُوسع واجهة أخرى إذا لزم الأمر.
- تُعرف الواجهة التي يتم تعريفها داخل واجهة أخرى باسم الواجهة المتداخلة.
- يجب تهيئة متغير الواجهة عند تعريفه. وإلا، سيُصدر المُصرّف خطأً.
- لا يمكن لفئة ما أن تُنفذ واجهتين في Java التي تحتوي على طرق بنفس الاسم ولكن بنوع إرجاع مختلف.




