Passage d'objet en parametre d'un objet [Résolu]

Messages postés
7
Date d'inscription
samedi 24 janvier 2009
Statut
Membre
Dernière intervention
5 mai 2010
- - Dernière réponse : cs_oxkao
Messages postés
7
Date d'inscription
samedi 24 janvier 2009
Statut
Membre
Dernière intervention
5 mai 2010
- 8 juin 2009 à 09:18
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à
Afficher la suite 

1 réponse

Meilleure réponse
Messages postés
7
Date d'inscription
samedi 24 janvier 2009
Statut
Membre
Dernière intervention
5 mai 2010
3
Merci
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 @+

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_oxkao