|
[POO] Renvoyer un objet |
|
Anonyme
|
Bonjour à tous,
j'ai un petit problème avec le POO windev: Peut-on renvoyer un objet comme resultat d'une methode d'une classe?
exemple: Client est une classe ... avec une methode
Procedure getFournisseur() .... Renvoyer Fournisseur
Fournisseur est une classe ... avec un attribut adresse est une chaine
si j'utilise l'objet renvoyé j'ai tjs une erreur à l'exécution
c est un Client f est un Fournisseur
f=c:getFournisseur() Info(f:adresse)
tout traitement fait sur f par la suite => erreur Mais si je fais le même traitement (simplement accéder à un attribut) dans la méthode getFournisseur de la classe Client avant de renvoyer l'objet Fournisseur ca marche.
Il est impossible de renvoyer un objet?
Une solution? (autre que de mettre le resultat dans les paramètres de la procédure :) )
Merci
Contribution le : 16/11/2004 12:14
|
|
|
Re: [POO] Renvoyer un objet |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonjour,
c est un Client f est un Fournisseur
On suppose ici que c herite ou contient un objet Fournisseur
En WinDev il est préférable plutot que de faire : f=c:getFournisseur() Info(f:adresse)
Faire Plutot : c:GetFournisseur(f) info(f:adresse)
Dans la méthode GetFournisseur de la classe client Applique votre egalité Procedure :GetFournisseur(pObjet) pObjet =
Contribution le : 16/11/2004 13:01
|
|
|
Re: [POO] Renvoyer un objet |
|
Anonyme
|
Je crois que pour pouvoir renvoyer un objet à partir d'une méthode (ou d'une procèdure) cet objet doit-être déclaré dynamique aussi bien dans la méthode que dans la fonction appelante. Dans le cas ou l'objet, créé dans la méthode, n'est pas dynamique il est détruit à la sortie de la méthode. En fait, on doit travailler avec les références d'objet.
Je ne sais pas si j'ai été suffisamment clair. En cas de soucis, vous pouvez me demander de préciser les points obscurs. Bernard
Contribution le : 17/11/2004 08:08
|
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.