<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><category>pcsoft.fr.windev</category><copyright>Copyright 2026, PC SOFT</copyright><lastBuildDate>10 Apr 2020 15:04:14 Z</lastBuildDate><pubDate>3 Sep 2019 15:15:09 Z</pubDate><description>Bonjour,&#13;
&#13;
Pour faire bref, je cherche à avoir un membre défini dans une classe parent qui devienne globale dans la classe qui en hérite, mais qui reste accessible à la classe parent.&#13;
&#13;
Comme c'est pas forcément clair, voilà un exemple : &#13;
&#13;
Je souhaiterai faire un système de classe comme suit ...&#13;
&#13;
[code:wl]&#13;
UnAnimal est une Classe&#13;
	m_nID est un entier&#13;
GLOBAL&#13;
	m_sNomAnimal est une chaine = "Inconnu"&#13;
FIN&#13;
&#13;
Constructeur(nID est un entier)&#13;
	m_nID = nID&#13;
FIN&#13;
&#13;
Procédure Caresser()&#13;
	Info(m_sNomAnimal + " " + m_nID + " a été caressé !")&#13;
FIN&#13;
[/code]&#13;
&#13;
[code:wl]&#13;
UnChien est une Classe&#13;
	hérite de UnAnimal&#13;
GLOBAL&#13;
	m_sNomAnimal = "Chien"&#13;
FIN&#13;
&#13;
Procédure Aboyer()&#13;
	Info(m_sNomAnimal + " " + m_nID + " aboie !")&#13;
Fin&#13;
[/code]&#13;
&#13;
[code:wl]&#13;
UnChat est une Classe&#13;
	hérite de UnAnimal&#13;
GLOBAL&#13;
	m_sNomAnimal = "Chat"&#13;
FIN&#13;
&#13;
Procédure Miauler()&#13;
	Info(m_sNomAnimal + " " + m_nID + " miaule !")&#13;
Fin&#13;
[/code]&#13;
&#13;
Évidemment, la syntaxe et fausse et ceux parmi vous qui gèrent bien les classes voient sans doute déjà le problème avec mon utilisation de GLOBAL :&#13;
&#13;
Je voudrais pouvoir faire :&#13;
&#13;
[code:wl]&#13;
Info(UnChien.m_sNomAnimal) // -&gt; info "Chien"&#13;
clUnChien est UnChien(1)&#13;
clUnChien.Aboie() // -&gt; info "Chien 1 aboie !"&#13;
clUnChien.Caresser() // -&gt; info "Chien 1 est caressé !"&#13;
&#13;
Info(UnChat.m_sNomAnimal) // -&gt; info "Chat"&#13;
clUnChat est UnChat(1)&#13;
clUnChat.Miaule() // -&gt; info "Chat 1 miaule !"&#13;
clUnChat.Caresser() // -&gt; info "Chat 1 est caressé !"&#13;
[/code]&#13;
&#13;
Or comme j'ai déclaré m_sNomAnimal en global, j'obtiens UnChien.m_sNomAnimal = "Chat" car le membre est globale à UnAnimal (au lieu d'UnChat) et a été modifiée quand j'ai instancié clUnChat &#13;
&#13;
Comment faire pour qu'un membre d'une classe ne soit GLOBAL *que* pour les classes qui en héritent en restant accessible à cette classe parent ? Et donc pouvoir avoir des globales indépendantes pour chaque suivant la classe qui en hérite :&#13;
&#13;
[code:wl]&#13;
Trace(UnChien.m_sNomAnimal) // "Chien"&#13;
Trace(UnChat.m_sNomAnimal) // "Chat"&#13;
Trace(UnAnimal.m_sNomAnimal) // "Inconnu"&#13;
[/code]&#13;
&#13;
Je soupçonne qu'il faille utiliser du virtuel ou abstrait, mais ce n'est pas encore trop clair pour moi.&#13;
&#13;
Merci d'avance !</description><ttl>30</ttl><generator>WEBDEV</generator><language>fr_FR</language><link>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/232690-heritage-classe-globales/read.awp</link><title>Héritage Classe et Globales</title><managingEditor>moderateur@pcsoft.fr (El moderador)</managingEditor><webMaster>webmaster@pcsoft.fr (El webmaster)</webMaster><item><author>THIERRY TILLIER</author><category>pcsoft.fr.windev</category><comments>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/232690-heritage-classe-globales-238633/read.awp</comments><pubDate>10 Apr 2020 15:04:14 Z</pubDate><description>Bonjour,&#13;
&#13;
Il semble que le concept des classes soit un peu flou dans votre esprit ;-)&#13;
&#13;
Pour manipuler une liste d'objet d'un…</description><guid isPermaLink="true">https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/232690-heritage-classe-globales-238633/read.awp</guid><link>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/232690-heritage-classe-globales-238633/read.awp</link><source url="https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/232690-heritage-classe-globales/read.awp">Héritage Classe et Globales</source><title>Re: Héritage Classe et Globales</title></item><item><author>yogan</author><category>pcsoft.fr.windev</category><comments>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/232690-heritage-classe-globales-232899/read.awp</comments><pubDate>12 Sep 2019 16:50:38 Z</pubDate><description>(Re)Bonjour Christophe&#13;
&#13;
Je revenais sur ce post par curiosité et je vois que la réponse que je vous avait faite a disparu (où …</description><guid isPermaLink="true">https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/232690-heritage-classe-globales-232899/read.awp</guid><link>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/232690-heritage-classe-globales-232899/read.awp</link><source url="https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/232690-heritage-classe-globales/read.awp">Héritage Classe et Globales</source><title>Re: Héritage Classe et Globales</title></item><item><author>DELFI INFO-Chris</author><category>pcsoft.fr.windev</category><comments>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/232690-heritage-classe-globales-232719/read.awp</comments><pubDate>4 Sep 2019 17:30:26 Z</pubDate><description>bonjour Simon,&#13;
&#13;
le mot clé PROTEGE permet de déclarer un membre qui ne sera accessible que dans la classe ou bien dans les cla…</description><guid isPermaLink="true">https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/232690-heritage-classe-globales-232719/read.awp</guid><link>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/232690-heritage-classe-globales-232719/read.awp</link><source url="https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/232690-heritage-classe-globales/read.awp">Héritage Classe et Globales</source><title>Re: Héritage Classe et Globales</title></item></channel></rss>
