Exercices POO Additionner des objets avec __add__
🎉

Bravo!

Débutant 🧠 Fondamentaux 10 XP 0 personnes ont réussi

Additionner des objets avec __add__

L'operateur + entre deux objets appelle la méthode __add__. C'est ce qu'on appelle la surcharge d'operateur : tu redefinies ce que + fait pour ta classe.

L'idee, c'est que __add__ recoit l'objet de droite en paramètre (other) et doit renvoyer un nouvel objet. On ne modifie jamais les objets d'origine, on en crée un nouveau. Exactement comme 2 + 3 crée un nouveau nombre 5 sans modifier 2 ou 3.

class Vecteur:
def __init__(self, x, y):
self.x = x
self.y = y
def __add__(self, other):
return Vecteur(self.x + other.x, self.y + other.y)

Écris une classe Portefeuille avec un attribut montant. Definis __add__ pour pouvoir additionner deux portefeuilles (le résultat est un nouveau Portefeuille avec la somme des montants). Definis aussi __str__ pour afficher 'Portefeuille(50)' par exemple.

Exemple :
p1 = Portefeuille(30)
p2 = Portefeuille(20)
p3 = p1 + p2
str(p3) renvoie 'Portefeuille(50)'

Tests (3/4)

Addition basique
p = Portefeuille(30) + Portefeuille(20)
assert p.montant == 50
str
assert str(Portefeuille(100)) == 'Portefeuille(100)'
Non modifiant
p1 = Portefeuille(10)
p2 = Portefeuille(5)
p3 = p1 + p2
assert p1.montant == 10

+ 0 tests cachés

Indices (3 disponibles)

solution.py