Sobes.tech
Junior

En quoi consiste le sens du polymorphisme en programmation?

sobes.tech IA

Réponse de l'IA

Le polymorphisme permet d'utiliser des objets de différentes classes ayant une interface commune, via un "type" commun (par exemple, une classe de base ou une interface).

Son principal objectif:

  • Unification du travail avec les objets: Permet d'écrire du code qui ne dépend pas du type spécifique de l'objet, mais qui fonctionne avec lui via une abstraction.
  • Flexibilité: Il est facile d'ajouter de nouvelles classes qui implémentent la même interface, sans modifier le code existant qui utilise cette abstraction.
  • Lisibilité et maintenabilité: Le code devient plus structuré et compréhensible, car la complexité de l'implémentation concrète est cachée derrière une interface unique.

Le principe est que la même méthode, appelée sur différents objets, se comporte différemment selon leur type concret.

Exemple en PHP:

<?php

interface Animal {
    public function makeSound();
}

class Dog implements Animal {
    public function makeSound() {
        return "Woof!";
    }
}

class Cat implements Animal {
    public function makeSound() {
        return "Meow!";
    }
}

function hearAnimalSound(Animal $animal) {
    echo $animal->makeSound() . "\n";
}

$dog = new Dog();
$cat = new Cat();

hearAnimalSound($dog); // Affichera "Woof!"
hearAnimalSound($cat); // Affichera "Meow!"

?>

Dans cet exemple, la fonction hearAnimalSound accepte tout objet qui implémente l'interface Animal. L'appel à la méthode makeSound() dans cette fonction se comporte différemment pour les objets Dog et Cat, illustrant le polymorphisme.