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.
|