العودة إلى الدورة

الواجهات (Interfaces) وتعدد الأشكال (Polymorphism)

PHP: الدورة التدريبية المكثفة الكاملة من الصفر إلى الاحتراف

40. الواجهات وتعدد الأشكال

توفر الواجهات طريقة قوية أخرى لفرض الهيكل. إنها تحدد عقدًا: يجب على أي فئة تطبق واجهة أن تطبق جميع الدوال المدرجة في تلك الواجهة.

تعريف واجهة

  • يتم تعريفها باستخدام الكلمة المفتاحية interface.
  • يجب أن تكون جميع الدوال في الواجهة عامة (public).
  • تحتوي الواجهات على تواقيع الدوال فقط، ولا تحتوي على منطق أو خصائص (باستثناء الثوابت).

php

تطبيق واجهة

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

php

تعدد الأشكال عمليًا

نظرًا لأن كلتا الفئتين تطبقان نفس الواجهة، يمكننا استخدامهما بالتبادل، بالاعتماد على تواقيع الدوال المشتركة (processPayment). هذا هو تعدد الأشكال.

php

processPayment($amount); } handleTransaction(new StripeGateway(), 500); handleTransaction(new PayPalGateway(), 250); ?>