![](/PCSBLOGS_WEB/ext/content-upload/post281474976711068_ee66abcbfe8a453ab3b4f5c565fe03ba_mceclip0.png?20230117145944292)
Lorsqu'une classe hérite d'une autre avec une méthode globale, on aura couramment l'usage suivant :
Procedure GLOBALE UneMéthodeGlobale ...
Procedure GLOBALE UneMéthodeGlobale CBase::UneMéthodeGlobale() ancetre::UneMéthodeGlobale()
Un intérêt de cette nouvelle syntaxe est de limiter les risques d'erreur si une classe vient s'insérer dans l'arbre d'héritage. En effet avec l'ancienne syntaxe, si dans l'exemple ci-dessus on insère une nouvelle classe :
Procedure GLOBALE UneMéthodeGlobale ... CBase::UneMéthodeGlobale() ancetre::UneMéthodeGlobale()
L'ancienne syntaxe ne fait pas ce que l'on veut par défaut dans le code de CDérivée : il faut penser à aller modifier tous les appels à la classe de base dans CDérivée. En revanche la nouvelle syntaxe ne nécessite aucune modification de code.
C'est également pratique dans le cas de renommages et les suppressions de classes.
|