PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2024 → polymorphisme
polymorphisme
Iniciado por Sébastien, 24,ene. 2005 18:43 - 10 respuestas
Publicado el 24,enero 2005 - 18:43
Bonjour,

Comment WinDev 9 supporte-t-il le polymorphisme ? Peut-on avoir plusieurs constructeurs et méthodes du même nom ?

Merci pour votre aide,

Sébastien
Publicado el 25,enero 2005 - 11:18
Une méthode est appelée sous la forme NomObjet:NomMéthode(paramètres).
C'est donc le nom de l'objet qui permettra de distinguer deux méthodes ayant la même appellation. C'est la particularité "encapsulation" de la POO.
Publicado el 25,enero 2005 - 16:46
Merci pour ta réponse,

C'est vrai, je crois que je voulais plutôt dire : surcharge. Soit plusieurs méthodes du meme nom à l'intérieur de la même classe/instance. Cest ca que je crois que WinDev ne supporte pas ... j'aimerais bien avoir plusieurs constructeurs différents et méthodes avec parametres différents !!

Sébastien
Publicado el 25,enero 2005 - 19:13
dans la doc je n'ai rien trouvé ( la seule surcharge mentionnée étant
celle des fonctions du w-langage )

Ceci dit un test peut etre fait rapidement ^^

Sébastien wrote:
Merci pour ta réponse,

C'est vrai, je crois que je voulais plutôt dire : surcharge. Soit plusieurs méthodes du meme nom à l'intérieur de la même classe/instance. Cest ca que je crois que WinDev ne supporte pas ... j'aimerais bien avoir plusieurs constructeurs différents et méthodes avec parametres différents !!

Sébastien

Publicado el 26,enero 2005 - 10:51
Non seulement ce n'est pas possible mais en plus j'ai une belle faute de
protection si je tente de créer deux méthodes du meme nom :/

BOUDOT Sébastien - Blue River System wrote:

dans la doc je n'ai rien trouvé ( la seule surcharge mentionnée étant
celle des fonctions du w-langage )

Ceci dit un test peut etre fait rapidement ^^

Sébastien wrote:

Merci pour ta réponse,

C'est vrai, je crois que je voulais plutôt dire : surcharge. Soit plusieurs méthodes du meme nom à l'intérieur de la même classe/instance. Cest ca que je crois que WinDev ne supporte pas ... j'aimerais bien avoir plusieurs constructeurs différents et méthodes avec parametres différents !!

Sébastien

Publicado el 26,enero 2005 - 11:58
BOUDOT Sébastien - Blue River System a couché sur son écran :
Non seulement ce n'est pas possible mais en plus j'ai une belle faute de
protection si je tente de créer deux méthodes du meme nom :/

BOUDOT Sébastien - Blue River System wrote:

dans la doc je n'ai rien trouvé ( la seule surcharge mentionnée étant
celle des fonctions du w-langage )

Ceci dit un test peut etre fait rapidement ^^

Sébastien wrote:

Merci pour ta réponse,

C'est vrai, je crois que je voulais plutôt dire : surcharge. Soit plusieurs
méthodes du meme nom à l'intérieur de la même classe/instance. Cest ca que
je crois que WinDev ne supporte pas ... j'aimerais bien avoir plusieurs
constructeurs différents et méthodes avec parametres différents !!

Sébastien

C'est un peu normal non ?
Il est evident que dans une meme classe, il ne peut y avoir deux
methode de meme nom.
Si tu veux créer un objet différent, avec des methode différente, il te
faut 2 classes.
La deuxième peut hériter de la première et tu redéfini uniquement les
methodes qui changent dans la 2eme classes.
C'est une reflexion de base sur le concept POO.
Je te conseille de faire un tour sur des sites de vulgarisation de la
POO pour en comprendre les concepts.
Cordialement

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Publicado el 26,enero 2005 - 15:52
Bonjour Sébastien,

Non WinDev ne prend pas en charge la surcharge des métodes en poo
Seul une surcharge des fonction du WLanguage est possible

Néamoins différentes techniques permettent de simuler la surcharge bien
qu'il n'existera qu'une seule méthode pour tous faire.

1) l'utilisation des paramètres optionnels dans l'appel de la méthode
avec la valeur null (tel les variants)

Cette technique permet de typer le paramètre à l'appel de la méthode

Plus délicat reste à identifier le type d'appel en fonction du type de
donner envoyé.

Sébastien a écrit :
Bonjour,

Comment WinDev 9 supporte-t-il le polymorphisme ? Peut-on avoir plusieurs constructeurs et méthodes du même nom ?

Merci pour votre aide,

Sébastien
Publicado el 26,enero 2005 - 16:57
D'autres langages permettent une surcharge de méthodes.

http://www.commentcamarche.net/poo/polymorp.php3

Vincent wrote:

BOUDOT Sébastien - Blue River System a couché sur son écran :

Non seulement ce n'est pas possible mais en plus j'ai une belle faute de
protection si je tente de créer deux méthodes du meme nom :/

BOUDOT Sébastien - Blue River System wrote:


dans la doc je n'ai rien trouvé ( la seule surcharge mentionnée étant
celle des fonctions du w-langage )

Ceci dit un test peut etre fait rapidement ^^

Sébastien wrote:


Merci pour ta réponse,

C'est vrai, je crois que je voulais plutôt dire : surcharge. Soit plusieurs
méthodes du meme nom à l'intérieur de la même classe/instance. Cest ca que
je crois que WinDev ne supporte pas ... j'aimerais bien avoir plusieurs
constructeurs différents et méthodes avec parametres différents !!

Sébastien

C'est un peu normal non ?
Il est evident que dans une meme classe, il ne peut y avoir deux
methode de meme nom.
Si tu veux créer un objet différent, avec des methode différente, il te
faut 2 classes.
La deuxième peut hériter de la première et tu redéfini uniquement les
methodes qui changent dans la 2eme classes.
C'est une reflexion de base sur le concept POO.
Je te conseille de faire un tour sur des sites de vulgarisation de la
POO pour en comprendre les concepts.
Cordialement
Publicado el 26,enero 2005 - 19:23
Bonjour,

Non ce n'est pas possible avec WD9 contrairement au C++
Par contre, vous pouvez peut être utiliser un traitement différent en
fonction du type de variable reçu avec la fonction TypeVariable

Frank

"Sébastien" <no@spam.com> a écrit dans le message de news:
41f51b03@news.pcsoft.fr...

Bonjour,

Comment WinDev 9 supporte-t-il le polymorphisme ? Peut-on avoir plusieurs
constructeurs et méthodes du même nom ?

Merci pour votre aide,

Sébastien
Publicado el 28,enero 2005 - 16:24
Nan, c'est pas possible en WD9.
Moi aussi, j'aimerais bien avoir plusieurs constructeurs...

Gromit
"Sébastien" <no@spam.com> a écrit dans le message de news:
41f65123$1@news.pcsoft.fr...

Merci pour ta réponse,

C'est vrai, je crois que je voulais plutôt dire : surcharge. Soit
plusieurs méthodes du meme nom à l'intérieur de la même classe/instance.
Cest ca que je crois que WinDev ne supporte pas ... j'aimerais bien avoir
plusieurs constructeurs différents et méthodes avec parametres différents
!!

Sébastien

Publicado el 28,enero 2005 - 17:19
Bonjour,
certains languages dont dot net permet cette pratique qui s'apelle la
surcharge exemple
Convert.ToString(Value as Object) As String
Convert.ToString(Value as Booléan) As String
Convert.ToString(Value as Char) As String
Convert.ToString(Value as Object, Provider As System.IFormatProvider) As
String
etc... il y en a comme ca 36

En WinDev la seule surcharge autorisée est celle des fonctions du
WLanguage, une fois le fonction surchargée la fonction du WLangage peut
être appelé en préfixant le nom de la fonction par WL.

Une Technique en WinDev permet de simulé dans certain cas la surchage
Il sagit de créer une procédure sans typage de données et avec
paramètres optionnel

exemple:
ToString(Value, param=NULL)
SELON TypVar(Value)
CAS wlBooléen
SI param <> NULL ALORS
//Traitement
SINON
//Traitement
FIN
CAS wlEntierSansSigne_1
SI param <> NULL ALORS
//Traitement
SINON
//Traitement
FIN
//etc...
FIN


cela est certes lourd a programmer mais peu être utile dans certains cas.

[DrCharly93]

BOUDOT Sébastien - Blue River System a écrit :
D'autres langages permettent une surcharge de méthodes.

http://www.commentcamarche.net/poo/polymorp.php3

Vincent wrote:


BOUDOT Sébastien - Blue River System a couché sur son écran :


Non seulement ce n'est pas possible mais en plus j'ai une belle faute de
protection si je tente de créer deux méthodes du meme nom :/

BOUDOT Sébastien - Blue River System wrote:



dans la doc je n'ai rien trouvé ( la seule surcharge mentionnée étant
celle des fonctions du w-langage )

Ceci dit un test peut etre fait rapidement ^^

Sébastien wrote:



Merci pour ta réponse,

C'est vrai, je crois que je voulais plutôt dire : surcharge. Soit plusieurs
méthodes du meme nom à l'intérieur de la même classe/instance. Cest ca que
je crois que WinDev ne supporte pas ... j'aimerais bien avoir plusieurs
constructeurs différents et méthodes avec parametres différents !!

Sébastien

C'est un peu normal non ?
Il est evident que dans une meme classe, il ne peut y avoir deux
methode de meme nom.
Si tu veux créer un objet différent, avec des methode différente, il te
faut 2 classes.
La deuxième peut hériter de la première et tu redéfini uniquement les
methodes qui changent dans la 2eme classes.
C'est une reflexion de base sur le concept POO.
Je te conseille de faire un tour sur des sites de vulgarisation de la
POO pour en comprendre les concepts.
Cordialement