Dans l'exemple ci-dessus, la classe B redéfinit la fonction example().
? > Les exemples ci-dessus appellent la fonction example() dans la classe A, mais il n'y a pas encore d'objet de classe A, alors il n'est pas possible d'écrire $a->example().
The above example calls the function example() in class A, but there is no object of class A, so that we cannot write $a->example() or similar.
A la place, on appelle la fonction example() comme une fonction de classe, c'est-à-dire avec le nom de la classe elle-même, et sans objet.
Instead we call example() as a 'class function', that is, as a function of the class itself, not any object of that class.
C'est équivalent à l'utilisation de cette usine à décorateur, le nom de la fonction d'exemple aurait été 'wrapper', et la chaîne de documentation de la fonction example() originale aurait été perdue.
Without the use of this decorator factory, the name of the example function would have been 'wrapper', and the docstring of the original example() would have been lost.
La définition originale dans la classe A est remplacée par celle de B, et n'est plus accessible depuis B, à moins que vous n'appeliez spécifiquement la fonction example() de la classe A avec l'opérateur ::.
The original definition in class A is shadowed and no longer available, unless you are referring specifically to the implementation of example() in class A using the::-operator.