Virtuel

Attribut de Type. Spécifie que la propriété d'un type est virtuel.

Attribut de Variable. Spécifie que la variable est virtuelle.

Syntaxe

Virtuel

Virtuel

Description

Employé dans la déclaration d'une propriété d'un type ou d'une variable, l'attribut Virtuel spécifie que la zone de données n'existe pas en tant que telle mais quelle est simulée par un couple de procédure / fonction.

La procédure dont le nom est celui de la propriété ou de la variable virtuel est utilisée pour simuler l'affectation de la propriété ou de cette variable. Elle admet donc un unique paramètre d'entrée dont le type est celui de la propriété ou de la variable virtuel.

La fonction dont le nom est celui de la propriété ou de la variable virtuel est utilisée pour simuler la consultation de la propriété ou de cette variable. Elle n'a pas de paramètre et le type de sa valeur de retour est celui de la propriété ou de la variable virtuel.

Cet attribut permet de définir des propriétés pour lesquels il existe des contrôles réalisés lors de la consultation (habilitation particulière dont la sémantique est plus forte que Protege ou Prive ou des statistiques (comptage des accès) tout en gardant la souplesse de la propriété ou de la variable.

Cet attribut permet également de créer une interface entre deux modules qui n'ont pas été initialement prévu pour travailler ensemble et qui comporte donc un modèle de données différent alors qu'il travaille sur des concepts voisins.

Exemple

Variable
/******/
Public :
/* Définition de la procédure et de la fonction simulant la variable. */
Public :
/****************************************************************/
Procedure A(V : Entier)
/* Objet : Pour l'affectation de A. */
/****************************************************************/
Debut
...
Fin Procedure

/****************************************************************/
Fonction A() Retourner Entier
/* Objet : Pour la consultation de A. */
/****************************************************************/
Debut
...
Fin Fonction

Principal
/*******/
Variable

Debut
I=1;
/* Usage de A. */
A=I;
I=A+1;
Fin Principal

Voir aussi

Type pour définir un type. Variable pour définir une variable.

Traduction

---------