Surcharge d’opérateur Python
La surcharge d’opérateur est un concept de la programmation orientée objet qui permet de redéfinir le comportement des opérateurs pour une classe donnée. Cela permet de définir comment les objets de la classe doivent être comparés, additionnés, etc. en utilisant les opérateurs habituels tels que
,
,
, etc.
Voici un exemple simple de surcharge d’opérateur en Python:
class Vector: def __init__(self, x, y): self.x = x self.y = y def __add__(self, other): return Vector(self.x + other.x, self.y + other.y) def __mul__(self, other): return Vector(self.x * other, self.y * other) def __str__(self): return "Vector ({}, {})".format(self.x, self.y) # Créer deux objets de la classe Vector v1 = Vector(1, 2) v2 = Vector(3, 4) # Additionner les deux objets v3 = v1 + v2 print(v3) # Output: "Vector (4, 6)" # Multiplier un objet par un scalaire v4 = v3 * 2 print(v4) # Output: "Vector (8, 12)" # Comparer les deux objets print(v3 == v4) # Output: False