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

 

Please follow and like us:
Pin Share