40. Interfaces et Polymorphisme
Les interfaces offrent un autre moyen puissant d'imposer une structure. Elles définissent un contrat : toute classe implémentant une interface doit implémenter toutes les méthodes listées dans cette interface.
Définition d'une Interface
- Définie à l'aide du mot-clé
interface. - Toutes les méthodes d'une interface doivent être publiques.
- Les interfaces ne contiennent que des signatures de méthodes, pas de logique ni de propriétés (sauf les constantes).
php
Implémentation d'une Interface
Une classe utilise le mot-clé implements pour adopter une interface. Si elle ne parvient pas à implémenter toutes les méthodes requises, cela entraîne une erreur fatale.
php
Le Polymorphisme en Action
Puisque les deux classes implémentent la même interface, nous pouvons les utiliser de manière interchangeable, en nous appuyant sur les signatures de méthodes communes (processPayment). C'est le polymorphisme.
php
processPayment($amount); } handleTransaction(new StripeGateway(), 500); handleTransaction(new PayPalGateway(), 250); ?>