PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV (earlier versions) → POO et surcharge de méthodes
POO et surcharge de méthodes
Started by sr33, Aug., 13 2018 12:10 PM - 1 reply
Registered member
4 messages
Posted on August, 13 2018 - 12:10 PM
Bonjour,

J'ai un pb de compréhension au sujet de l'appel de méthodes surchargées dans une classe dérivée (je suis en Windev22).
Prenons cet exemple :

MaClasseBase est une Classe

Procedure PUBLIQUE test()

RENVOYER "classe_base"

Procedure PUBLIQUE appel_test()

RENVOYER test()

FIN

MaClasseFille est une Classe
hérite de MaClasseBase

Procedure PUBLIQUE test()

RENVOYER "classe_fille"

FIN

clBase est un MaClasseBase
clFille est un MaClasseFille

Trace(clBase:test()) // "classe_base"
Trace(clFille:test()) // "classe_fille"

Trace(clBase:appel_test()) // "classe_base"
Trace(clFille:appel_test()) // "classe_base" -> ???


Au dernier test, je m'attends à avoir "classe_fille" : quelle serait la syntaxe pour obtenir ce résultat ?

Merci par avance pour votre aide.
Message modified, August, 13 2018 - 12:16 PM
Registered member
4 messages
Posted on August, 13 2018 - 3:41 PM
En fermant et réouvrant le projet, ça s'est mis à fonctionner pour l'exemple ci-dessus... :merci:
Par contre, je rencontre toujours le pb pour les méthodes globales :

MaClasseBase est une Classe

Procedure PUBLIQUE GLOBALE test()

RENVOYER "classe_base"

Procedure PUBLIQUE GLOBALE appel_test()

RENVOYER test()

FIN

MaClasseFille est une Classe
hérite de MaClasseBase

Procedure PUBLIQUE GLOBALE test()

RENVOYER "classe_fille"

FIN

Trace(MaClasseBase::test()) // "classe_base"
Trace(MaClasseFille::test()) // "classe_fille"

Trace(MaClasseBase::appel_test()) // "classe_base"
Trace(MaClasseFille::appel_test()) // "classe_base" -> ???
Message modified, August, 13 2018 - 3:42 PM