PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → classes abstraites (ou virtuelles)
classes abstraites (ou virtuelles)
Iniciado por carjemanog, jun., 24 2005 5:22 PM - 6 respostas
Publicado em junho, 24 2005 - 5:22 PM
bonjour,
je cherche à créer une classe virtuelle "animal" est ses 2 sous classes "lapin" et "chat" pour avoir dans une meme liste des objets différents (des chats et des lapins)
je ne sais pas comment déclarer "animal" virtuelle et comment faire en sorte que les objets chat et lapin soient contenus dans la meme liste.
voici le code que j'ai:



animal est une classe
FIN

chat est une classe
hérite de animal
FIN

lapin est une classe
hérite de animal
FIN

liste est un tableau de 16 animal
mon_chat est chat
mon_lapin est lapin

liste[1]=mon_chat
liste[1]=mon_lapin


or à l'execution j'ai eun erreur "Il est impossible d'affecter un objet de classe chat dans un objet de classe animal."
comment windev gere t il les sous classes ? j'ai cherché dans la doc, mais elle est assez succinte sur le sujet.
Si quelqun pouvait mm'aider un peu, ca me dépannerait pas mal!
merci d'avance!!
Publicado em junho, 24 2005 - 5:36 PM
Jean a écrit :
bonjour,
je cherche à créer une classe virtuelle "animal" est ses 2 sous classes "lapin" et "chat" pour avoir dans une meme liste des objets différents (des chats et des lapins)
je ne sais pas comment déclarer "animal" virtuelle et comment faire en sorte que les objets chat et lapin soient contenus dans la meme liste.
voici le code que j'ai:



animal est une classe
FIN

chat est une classe
hérite de animal
FIN

lapin est une classe
hérite de animal
FIN

liste est un tableau de 16 animal
mon_chat est chat
mon_lapin est lapin

liste[1]=mon_chat
liste[1]=mon_lapin


or à l'execution j'ai eun erreur "Il est impossible d'affecter un objet de classe chat dans un objet de classe animal."
comment windev gere t il les sous classes ? j'ai cherché dans la doc, mais elle est assez succinte sur le sujet.
Si quelqun pouvait mm'aider un peu, ca me dépannerait pas mal!
merci d'avance!!


J'ai peur que le modele objets de Windev ne soit pas des plus avancé ...

Dam
Publicado em junho, 24 2005 - 5:48 PM
ah !
alors là ca me pose un gros pb.. y a t il une autre solution ??
merci d'avance
Publicado em junho, 24 2005 - 6:23 PM
je viens d'avoir la solution donc pour ceux qui auraient le meme probleme:

il faut déclarer
liste = tableau de 16 objet dynamique


dans ce cas, on peut lui affecter n'importe quel objet

voilou
@+ pour de nouvelles aventures avec mes lapins et mes chats...
Jean
Publicado em junho, 24 2005 - 6:49 PM
Bonjour,

Le polymorphisme ne fonctionne qu'avec des objets dynamiques. Ceci n'est pas
spécifique à WinDev, et la solution ci-dessous est valable pour tous les
langages.



animal est une classe
FIN

chat est une classe
hérite de animal
FIN

lapin est une classe
hérite de animal
FIN

liste est un tableau de 16 animal dynamique



liste[1]=allouer un chat

liste[1]=allouer un lapin.


--
Ed en Ligne


"Jean" <carjemanog@hotmail.com> a écrit dans le message de news:
42bbfe7a$1@news.pcsoft.fr...

bonjour,
je cherche à créer une classe virtuelle "animal" est ses 2 sous classes
"lapin" et "chat" pour avoir dans une meme liste des objets différents
(des chats et des lapins)
je ne sais pas comment déclarer "animal" virtuelle et comment faire en
sorte que les objets chat et lapin soient contenus dans la meme liste.
voici le code que j'ai:



animal est une classe
FIN

chat est une classe
hérite de animal
FIN

lapin est une classe
hérite de animal
FIN

liste est un tableau de 16 animal
mon_chat est chat
mon_lapin est lapin

liste[1]=mon_chat
liste[1]=mon_lapin


or à l'execution j'ai eun erreur "Il est impossible d'affecter un objet de
classe chat dans un objet de classe animal."
comment windev gere t il les sous classes ? j'ai cherché dans la doc, mais
elle est assez succinte sur le sujet.
Si quelqun pouvait mm'aider un peu, ca me dépannerait pas mal!
merci d'avance!!
Publicado em junho, 24 2005 - 6:59 PM
Re-bonjour,

Il vaut mieux typer les objets dynamiques. Avec cette solution vous perdez
les vérifs de compilation et la complétion du code. Je vous conseille d'utiliser
un tableau de animal dynamique (voir autre réponse).


--
Ed en Ligne


"Jean" <carjemanog@hotmail.com> a écrit dans le message de news:
42bc0cb7$1@news.pcsoft.fr...

je viens d'avoir la solution donc pour ceux qui auraient le meme probleme:

il faut déclarer
liste = tableau de 16 objet dynamique


dans ce cas, on peut lui affecter n'importe quel objet

voilou
@+ pour de nouvelles aventures avec mes lapins et mes chats...
Jean

Publicado em julho, 14 2005 - 7:52 PM
MERCI !!!!!!

Je viens de lire ta solution et c vraiment trop Cool!


Zo