واجهة في Java مع المثال

⚡ ملخص ذكي

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

  • 📜 فريف: تحدد الواجهة السلوك باستخدام القيمة المطلقةtracالطرق والثوابت التي يجب أن توفرها الفئات المنفذة.
  • 🔑 عدد القطع يتم تعريف الواجهات باستخدام الكلمة المفتاحية interface، وتستخدم الفئات implements لاعتمادها.
  • 🧩 تعدد الميراث: يمكن للفئة الواحدة أن تُنفذ العديد من الواجهات، مما يحل المشكلة. Javaافتقارها إلى خاصية التوريث المتعدد للفئات.
  • 🇧🇷 الفئة مقابل الواجهة: بخلاف الفئات، لا يمكن إنشاء مثيلات للواجهات، وعادةً ما تحتوي فقط على خصائص عامة.tracطرق t.
  • 🎯 متى يجب استخدام: استخدم واجهة لتحديد دور للفئات غير ذات الصلة، وtracفئة t لقالب مشترك.

واجهة في Java

ما هي الواجهة في 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 التي تحتوي على طرق بنفس الاسم ولكن بنوع إرجاع مختلف.

الأسئلة الشائعة

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

تقوم أدوات الذكاء الاصطناعي بتحليل الواجهات لاقتراح تطبيقات، والكشف عن الطرق المفقودة، والتوصية بواجهات برمجة تطبيقات أنظف.tracأثناء إعادة هيكلة الكود، يتم تسريع عملية التطوير مع الحفاظ علىping قاعدة البيانات ذات ارتباط ضعيف وأسهل في الصيانة.

نعم. حيث Java 8- يمكن أن تتضمن الواجهات طرقًا افتراضية وثابتة لها تطبيقات، بالإضافة إلى القيمة المطلقة.tracطرق t. يسمح هذا بتطوير الواجهات دون كسر الفئات المنفذة الحالية.

لا تحتوي واجهة العلامة على أي توابع. فهي تُشير إلى البيانات الوصفية لآلة جافا الافتراضية أو المُصرّف لكي يتعاملا مع الفئات المُنفذة لها بشكل خاص. ومن الأمثلة على ذلك Serializable و Cloneable في المعيار. Java مكتبة.

تلخيص هذه التدوينة بـ: