Rappel
NomDeLaRappel (
ListeDeParametresDUnAppel )
SuiteRappel
Rappel
permet de définir le corps du traitement correspondant à une méthode de rappel. Cette fonction peut être soit rattachée à un type comme tout autre méthode ou soit se substituer à celle-ci.
Un méthode de rappel doit retourner un résultat conforme à la sémantique de l'énuméré RappelReponse.
L'arrêt de l'exécution des instructions du corps de la méthode de rappel et le renvoi du résultat s'effectue au moyen de l'instruction Retourner.
Les méthodes de rappel peuvent être surchargées par polymorphisme : il existe plusieurs méthodes portant le même nom. Ces méthodes diffèrent par leur prototype.
Un paramètre de méthode de rappel peut être nommé ou non. S'il est nommé, il se comportera comme une variable locale à la méthode. S'il n'est pas nommé, son symbole est ?
et, bien que transmis, il est ignoré dans le corps de la méthode. Les paramètres non nommés sont utiles lorsqu'il s'agit d'écrire des méthodes génériques pour lesquels tous les paramètres ne sont pas pertinents dans tous les contextes.
Un paramètre peut posséder une valeur défaut qui est en ce cas soit Nul ou soit une constante en accord avec le type du paramètre. Seuls les derniers paramètres peuvent être optionnels : un paramètre optionnel ne peut être suivi d'un paramètre obligatoire. Lors de l'appel de la fonction, les n derniers paramètres optionnels peuvent être omis. En ce cas, les valeurs transmises correspondent aux valeurs par défaut.
Type TA
/*****/
Rappel FMethode1(F : Fichier);
Rappel FMethode2();
Fin Type
/****************************************************************/
Rappel TA.FMethode1(F : Fichier)
/* Objet : Definition de la methode de 'FMethode1' de 'TA'. */
/****************************************************************/
Debut
...
Fin Rappel
/****************************************************************/
Rappel TA.FMethode2()
/* Objet : Definition de la methode de 'FMethode2' de 'TA'. */
/****************************************************************/
Debut
...
Fin Rappel
ImporterModule
/************/
M1(<M1.upi>, ImporterDefinitions);
/****************************************************************/
Rappel TA.FMethode1(F : Fichier)
/* Objet : Substitution de la méthode de TA.FMethode1. */
/****************************************************************/
Debut
...
Fin Rappel
ImporterModule
/************/
M1(<M1.upi>, ImporterDefinitions);
/****************************************************************/
Rappel TA.FMethode2()
/* Objet : Substitution de la méthode de TA.FMethode2. */
/****************************************************************/
Debut
...
Fin Rappel
- | - | - | - | - | - | - | - | - |