PROFESSIONAL NEWSGROUPS
WINDEV
,
WEBDEV
and
WINDEV Mobile
Home
|
Recent messages
|
Connect
|
Sign out
|
English
Home
→
WINDEV 2024
→
[WD10] Polymorphisme
[WD10] Polymorphisme
Started by guest, Apr., 24 2006 1:30 PM - 3 replies
Connect yourself…
guest
#1
Posted on April, 24 2006 - 1:30 PM
Bonjour,
Soit 3 classes : clA, clB, clC
clB et clC dévirent de clA
Et soit clE qui utilise clA.
Si je fais:
MonObjetB est un clB dynamique
MonObjetB = allouer un clB
MonObjetE est un clE dynamique
MonObjetE = allouer un clE
MonObjetE:MaMéthode(MonObjetB)
Et si la méthode MaMéthode est déclarée comme ça:
Procédure MaMéthode(valeur est un clA)
Ben Windev le retourne l'erreur suivante: Un élément de type clB dynamique ne peut pas être converti vers le type ClA.
Si maintenant je fais:
MonObjetB est un clA
MonObjetB = allouer un clB
windev me dit que les méthodes mB et mBB n'existent pas dans la classe clA (ce que je comprend car elle sont définies dans la classe clB).
Ma question est:
Comment utiliser un objet clA (qui est soit unclB soit un clC et qui est membre de clE) dans ma classe clE.
Selon mes souvenirs, on pouvait faire ça (en C++ par exemple), et ça s'appellait le polymorphisme...
Merci d'avance de vos lumières,
Report
0
0
aze
#2
Posted on April, 24 2006 - 4:54 PM
Jean-Michel FLAMBARD a écrit :
Bonjour,
Soit 3 classes : clA, clB, clC
clB et clC dévirent de clA
Et soit clE qui utilise clA.
Si je fais:
MonObjetB est un clB dynamique
MonObjetB = allouer un clB
MonObjetE est un clE dynamique
MonObjetE = allouer un clE
MonObjetE:MaMéthode(MonObjetB)
Et si la méthode MaMéthode est déclarée comme ça:
Procédure MaMéthode(valeur est un clA)
Ben Windev le retourne l'erreur suivante: Un élément de type clB dynamique ne peut pas être converti vers le type ClA.
Si maintenant je fais:
MonObjetB est un clA
MonObjetB = allouer un clB
windev me dit que les méthodes mB et mBB n'existent pas dans la classe clA (ce que je comprend car elle sont définies dans la classe clB).
Ma question est:
Comment utiliser un objet clA (qui est soit unclB soit un clC et qui est membre de clE) dans ma classe clE.
Selon mes souvenirs, on pouvait faire ça (en C++ par exemple), et ça s'appellait le polymorphisme...
Merci d'avance de vos lumières,
tout à fait, avec des pointeurs sur tes différentes instances, en C++ ca
marcherait sans soucis.
Deux propositions à tester :
Dans clE::MaMéthode, ne pas typer le paramètre
->
MaMéthode(valeur)
ne pas faire d'allocations dynamiques si possible ?
-> le tout sans garantie
bon dev
eric l.
Report
0
0
guest
#3
Posted on April, 24 2006 - 5:49 PM
Merci Eric,
Sans typer le paramètre dans la m"éthode MaMéthode(valeur) ça à l'air de fonctionner.
Par contre je me demande comment car MaMéthode affecte valeur à un membre de clE qui est lui un clA dynamique (et alloué comme tel dans le constructeur de clE)...
Une réponse ?
Jean-Michel
Report
0
0
aze
#4
Posted on April, 24 2006 - 6:22 PM
je n'aurais pas de réponse précise mais j'ai remarqué quelques
fois que windev "se débrouille mieux" avec des paramètres non typés
et qu'il est parfois nécessaire de ne pas typer pour obtenir
le fonctionnement "logique"...?!
éventuellement si tu contactes le support pour demander des précisions,
poste ici leur réponse ?
pas mieux
eric l.
Jean-Michel FLAMBARD a écrit :
Merci Eric,
Sans typer le paramètre dans la m"éthode MaMéthode(valeur) ça à l'air de fonctionner.
Par contre je me demande comment car MaMéthode affecte valeur à un membre de clE qui est lui un clA dynamique (et alloué comme tel dans le constructeur de clE)...
Une réponse ?
Jean-Michel
Report
0
0
→ Go back to WINDEV 2024
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (earlier versions)
WINDEV 26
WINDEV 2024
WINDEV 2024
WINDEV 2024
WINDEV 25
WEBDEV 2024
WEBDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV Mobile 2024
WINDEV (earlier versions)
WINDEV (earlier versions)
WEBDEV (earlier versions)
WEBDEV (earlier versions)
WINDEV Mobile (earlier versions)
WINDEV Mobile (earlier versions)
Reports & Queries
Reports & Queries
Off-topic
Off-topic
Tools
Tools
Français
English
Español
Portuguesa
Close this window
Search type
Only topics
All the messages
Search period
Any time
Past hour
Past 24 hours
Past week
Past month
Past year
Cancel
Preview of your message
Adding an image
Import an image from a URL
Send an image from a file of your disk
Drop a file or click "Browse..."
or
Cancel
0%
WLanguage
SQL
XML, HTML
JAVA, Javascript
Text