"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > فهم الواجهات في Java – دليل بسيط

فهم الواجهات في Java – دليل بسيط

تم النشر بتاريخ 2024-08-31
تصفح:632

Understanding Interfaces in Java – A Simple Guide

ما هي الواجهة؟

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

لماذا نستخدم الواجهات؟

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

إنشاء واجهة

لنقم بإنشاء واجهة بسيطة تسمى Movable:

public interface Movable {
    void move();  // Any class that implements Movable must define how to move
}

تحتوي هذه الواجهة على أسلوب واحد فقط، وهو move(). يجب أن يكون لدى أي فئة توافق على هذه الواجهة طريقة move().

تنفيذ الواجهة

لنقم بإنشاء بعض الفئات التي تنفذ الواجهة المنقولة:

public class Bird implements Movable {
    public void move() {
        System.out.println("The bird flies.");
    }
}

public class Fish implements Movable {
    public void move() {
        System.out.println("The fish swims.");
    }
}

هنا، توافق فئة Bird وفئة Fish على الواجهة المنقولة، لكن لكل منهما طريقته الخاصة في الحركة.

واجهات متعددة

أحد الأشياء الرائعة المتعلقة بالواجهات هو أن الفصل يمكنه تنفيذ أكثر من واحدة. لنفترض أن لدينا أيضًا واجهة Soundable:

public interface Soundable {
    void makeSound();
}

قد تقوم فئة الكلاب بتنفيذ كل من الأجهزة المنقولة والقابلة للصوت:

public class Dog implements Movable, Soundable {
    public void move() {
        System.out.println("The dog runs.");
    }

    public void makeSound() {
        System.out.println("The dog barks.");
    }
}

هذا يعني أن كلبنا يمكنه التحرك وإصدار الصوت!

الواجهة مقابل فئة الملخص

  • الوراثة المتعددة: يمكن للفصل تنفيذ واجهات متعددة، ولكن يمكنه توسيع فئة مجردة واحدة فقط.
  • الطرق: يمكن أن تحتوي الواجهات فقط على طرق مجردة (في الإصدارات الأقدم من Java)، بينما يمكن أن تحتوي الفئات المجردة على طرق مجردة وعادية.
  • المتغيرات: يمكن أن تحتوي الواجهات على ثوابت (متغيرات نهائية ثابتة)، لكن لا يمكن أن تحتوي على متغيرات مثيل.

التحدي: جربه بنفسك!

  1. قم بإنشاء واجهة تسمى Playable باستخدام طريقة التشغيل ().
  2. أنشئ فئتين، الجيتار والبيانو، لتنفيذ إمكانية التشغيل.
  3. اكتب كودًا لإنشاء كائنات من هذه الفئات واستدعاء طريقة التشغيل ().

خاتمة

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

بيان الافراج تم نشر هذه المقالة على: https://dev.to/be11amer/understanding-interfaces-in-java-a-simple-guide-npk?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3