Procedure - Définition d'une méthode

Attribut de Type. Définition d'une méthode procédurale.

Syntaxe

TypeDAcces Procedure InflexionAppel NomDeLaProcedure ( ListeDeParametresDUnAppel )

Description

L'instruction Procedure permet de définir une méthode procédurale.

Une méthode procédurale est une procédure propre à un objet du type en cours de définition. Une méthode est toujours existante. Puisqu'il s'agit d'une méthode, cela est un traitement au même titre qu'une procédure définie en dehors d'un type. Elle peut être surchargée soit :

La surcharge par héritage est interdite si la définition de la méthode héritée au niveau de la classe mère comporte l'attribut Final.

Une méthode comporte toujours un paramètre implicite qui est l'objet à laquelle elle s'applique. Ce paramètre n'apparaît pas dans le prototype de la méthode. Cet objet identifié par Objet dans le corps de la méthode peut être employé comme tout autre paramètre.

Exemple

Type TA
/*****/
Fin Type
/* Le type TA est compose de trois propriétés (B, E) et de deux méthodes (PMethode1 et PMethode2). */

Type TB HeriteDe TA
/*****************/
Fin Type
/* Le type TB est compose des trois propriétés de TA, d'une propriété supplémentaire (D) et d'une méthode supplémentaire PMethode3. La méthode PMethode1 est surchargée. La méthode PMethode3 est surchargée en trois exemplaires en fonction du type du paramètre. */

Type TC
/*****/
Fin Type
/* Le type TC est compose de deux méthodes PMethode1 et PMethode2. La méthode PMethode1 peut être surchargée mais pas la méthode PMethode2. */

/****************************************************************/
Procedure TA.PMethode1(F : Fichier)
/* Objet : Definition de la methode 'PMethode1' de 'TA'. */
/****************************************************************/
Debut
...
Fin Procedure

/****************************************************************/
Procedure TA.PMethode2()
/* Objet : Definition de la methode 'PMethode2' de 'TA'. */
/****************************************************************/
Debut
...
Fin Procedure

/****************************************************************/
Procedure TB.PMethode1(F : Fichier)
/* Objet : Definition de la methode 'PMethode1' de 'TB'. */
/****************************************************************/
Debut
...
Fin Procedure

/****************************************************************/
Procedure TB.PMethode3(B : Booleen)
/* Objet : Definition de la methode 'PMethode3' de 'TB'. */
/****************************************************************/
Debut
...
Fin Procedure

/****************************************************************/
Procedure TB.PMethode3(C : Caractere)
/* Objet : Definition de la methode 'PMethode3' de 'TB'. */
/****************************************************************/
Debut
...
Fin Procedure

/****************************************************************/
Procedure TB.PMethode3(E : Entier)
/* Objet : Definition de la methode 'PMethode3' de 'TB'. */
/****************************************************************/
Debut
...
Fin Procedure

/****************************************************************/
Procedure TC.PMethode1(F : Fichier)
/* Objet : Definition de la methode 'PMethode1' de 'TC'. */
/****************************************************************/
Debut
...
Fin Procedure

/****************************************************************/
Procedure TC.PMethode2(B : Booleen)
/* Objet : Definition de la methode 'PMethode2' de 'TC'. */
/****************************************************************/
Debut
...
Fin Procedure

Voir aussi

Fonction et Operateur pour connaître les autres types de méthodes possibles. Type pour définir un type de données. Final pour empêcher le surtypage.

Traduction

---------