Position actuelle: Accueil> Derniers articles> Explication détaillée et exemples pratiques du polymorphisme PHP

Explication détaillée et exemples pratiques du polymorphisme PHP

M66 2025-10-16

Concepts et exemples de polymorphisme en PHP

En programmation orientée objet, le polymorphisme fait référence à la capacité de différents objets à répondre différemment au même message. En PHP, le polymorphisme est principalement réalisé via les interfaces et l'héritage. Cet article analysera en détail le concept de polymorphisme en PHP à travers des exemples de code réels.

Définir la forme de l'interface

Tout d’abord, nous créons une interface Shape, qui contient une méthode calculateArea :

 interface Shape {
    public function calculateArea();
}

Implémenter les classes Circle et Square

Ensuite, nous créons deux classes, Circle et Square, qui implémentent toutes deux l'interface Shape :

 class Circle implements Shape {
    private $radius;

    public function __construct($radius) {
        $this->radius = $radius;
    }

    public function calculateArea() {
        return round(pi() * pow($this->radius, 2), 2);
    }
}

class Square implements Shape {
    private $sideLength;

    public function __construct($sideLength) {
        $this->sideLength = $sideLength;
    }

    public function calculateArea() {
        return pow($this->sideLength, 2);
    }
}

Créer une fonction polymorphe getShapeArea

Ensuite, nous définissons une fonction getShapeArea, qui accepte un objet qui implémente l'interface Shape en tant que paramètre et appelle sa méthode calculateArea :

 function getShapeArea(Shape $shape) {
    return $shape->calculateArea();
}

Exemple d'utilisation

Maintenant, nous pouvons créer des objets Circle et Square et calculer leurs aires à l'aide de la fonction getShapeArea :

 $circle = new Circle(5);
$square = new Square(4);

echo "aire du cercle:" . getShapeArea($circle) . ";";
echo "superficie du carré:" . getShapeArea($square) . "。";

Dans cet exemple, les classes Circle et Square implémentent l'interface Shape et remplacent la méthode calculateArea. En passant différents objets à la fonction getShapeArea, nous obtenons le polymorphisme : la même fonction exécute une logique différente sur différents objets.

Résumer

Le polymorphisme en PHP est implémenté via des interfaces et l'héritage, permettant à différents objets de répondre différemment au même message. Ce mécanisme améliore la flexibilité et l'évolutivité du code. Une utilisation raisonnable du polymorphisme peut simplifier la structure du code, améliorer la réutilisabilité du code et rendre les programmes orientés objet plus faciles à maintenir.