Sobes.tech
Junior — Middle

Explique le concept de duck typing et en quoi il diffère de la typage statique en programmation.

sobes.tech IA

Réponse de l'IA

Le duck typing est un concept en programmation où le type d’un objet est déterminé non par sa classe ou interface, mais par la présence de certaines méthodes et propriétés. Si un objet se comporte comme un "canard" (possède les méthodes nécessaires), il est considéré comme approprié.

Différence avec la typage statique :

  • En typage statique, les types sont vérifiés lors de la compilation, et les objets doivent correspondre explicitement à des types définis.
  • En duck typing, la vérification se fait à l’exécution, et seule la compatibilité de l’interface (méthodes/propriétés) est importante, pas l’héritage ou les types déclarés.

Exemple en Python (duck typing) :

class Duck:
    def quack(self):
        print("Coin-coin")

class Person:
    def quack(self):
        print("Je peux quacker comme un canard")

def make_it_quack(thing):
    thing.quack()

make_it_quack(Duck())    # Coin-coin
make_it_quack(Person())  # Je peux quacker comme un canard

Ici, la fonction ne se soucie pas du type de l’objet, mais seulement de la présence de la méthode quack.