Surcharge d'une methode d'un attribut de clas

Fermé
guiguizekid Messages postés 70 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 22 février 2010 - 12 déc. 2008 à 10:01
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 12 déc. 2008 à 10:34
bonjour,
je souhaiterai surcharger la methode __add__ mais pas de ma classe, mais d'un attribut de ma classe. Pour cela, me direz-vous, il faut créer un classe de cet attribut, mais ce n'est pas très pratique.
J'explique :
ma classe ressemble en gros a ça :
[CODE]
class tas(object):
def __init__(self,liste):
self.tab=liste
self.taille=len(liste)
[/CODE]
De plus, je voudrai, en faisant t.taille+=1 (où t est une instance de tas), que t.tab initialise un nouvel élément (None par ex, on s'en fiche) en fin de liste.
Il faut donc surcharger la methode __add__ de self.taille mais dans laquelle self.tab serait accessible su type :
[CODE]
int.__add__(self,1)
self.tab.append(None)
[/CODE]
je pense mettre bine fait comprendre, mais si ce n'est pas clair, demandez moi de préciser!
merci d'avance

1 réponse

Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
12 déc. 2008 à 10:34
C'est quoi ce langage ? Du python ?
En C++, mais il n'y a pas de raison que là ça soit différent. La logique veux que si taille est de type "int" c'est à dre type entier, ce que tu veux faire n'est pas possible.
Par contre, tu pourrai surchargé l'addition sur la classe, c'est à dire t+=1 où la tu incrémenterai la taille de 1 et ajouterai un élément quelconque.
0