Passer au contenu principal

Comprendre les interfaces en POO

Une interface permet de définir un contrat pour les classes. Ce contrat stipule que toute classe qui implémente l’interface doit utiliser certaines méthodes spécifiques. Ainsi, l’interface garantit que l’objet dispose de ces fonctionnalités, indépendamment de sa classe d’origine.

<?php
  
// Interface pour une voiture
interface CarInterface {
    public function startEngine();
    public function stopEngine();
    public function accelerate();
    public function brake();
}

// Classe 'Car' qui implémente l'interface 'CarInterface'
class Car implements CarInterface {
    public function startEngine() {
        echo "Engine started!";
    }

    public function stopEngine() {
        echo "Engine stopped!";
    }

    public function accelerate() {
        echo "Accelerating!";
    }

    public function brake() {
        echo "Braking!";
    }
}

// Création d'un nouvel objet de la classe 'Car'
$myCar = new Car();

// Appel des méthodes de l'interface
$myCar->startEngine();
$myCar->accelerate();
$myCar->brake();
$myCar->stopEngine();

?>