Passage d'objet en parametre d'un objet

[Résolu]
Signaler
Messages postés
7
Date d'inscription
samedi 24 janvier 2009
Statut
Membre
Dernière intervention
5 mai 2010
-
Messages postés
7
Date d'inscription
samedi 24 janvier 2009
Statut
Membre
Dernière intervention
5 mai 2010
-
bonjours
encore une question de nul
je voudrais récupérer un objet en paramètre lors de la création d'un autre objet.
en gros faire un agrégation
j'ai tester plusieurs truc et rien n'a marché :S

1er test :
class Machine (object):
   
    def __init__(self,__numAfpa=0,__nomSymbolique=0,__dateAchat=0,__dateFinGarantie=0,r1,):
        self.__numAfpa = __numAfpa
        self.__nomSymbolique = __nomSymbolique
        self.__dateAchat = __dateAchat
        self.__dateFinGarantie =__dateFinGarantie
        self.r1=r1
dans un autre fichier

r2 = ram.Ram("toto","54","df",78,"dzd","4-4-1-12")
m1 = machine.Machine (1,2,3,4,r2)

résultat :/ : SyntaxError: non-default argument follows default argument

2eme test
class Machine (object):   
    def__init__(self,__numAfpa=0,__nomSymbolique=0,__dateAchat=0,__dateFinGarantie=0,__r1=Ram(),):

dans l'autre fichier toujours pareil :
r2 = ram.Ram("toto","54","df",78,"dzd","4-4-1-12")
m1 = machine.Machine (1,2,3,4,r2)

résultat :/ : TypeError: __init__() takes exactly 7 arguments (1 given)

3eme test
class Machine (object):
    def__init__(self,__numAfpa=0,__nomSymbolique=0,__dateAchat=0,__dateFinGarantie=0,__r1=Ram("toto","54","df",78,"dzd","4-4-1-12"),):

dans l'autre fichier
m1 = machine.Machine (1,2,3,4,r2= ram.Ram())

résultat :/ : TypeError: __init__() takes exactly 7 arguments (1 given)

les classes ram et machine fonctionne très bien enfin lorsque j'enlève le passage de l'objet ^^
je sais que c'est tout bidon mais google veut pas être mon ami et refuse toujours de m'aider :/
si une âme charitable passe par là
A voir également:

1 réponse

Messages postés
7
Date d'inscription
samedi 24 janvier 2009
Statut
Membre
Dernière intervention
5 mai 2010

bon j'ai trouve le souci.
il fallait faire :
m1 = machine.Machine (1,2,3,4,ram.Ram("toto","54","df",78,"dzd","4-4-1-12"))

et non

m1 = machine.Machine (1,2,3,4 ,r2=ram.Ram("toto","54","df",78,"dzd","4-4-1-12"))

en utilisant ma solution 1

merci de votre aide @+