Symboles de classe des entités du domaine.

AXE=1, SYMPODE, BOUQUET, FRUIT

Enumération exhaustive des symboles de classe des entités du domaine.

Les classes d'entités sont définies par l'utilisateur comme des sous-classes de Entity. Chaque sous-classe est caractérisée par un symbole de classe qui doit être présent dans l'énumération UserClassId. La méthode ClassSymbol(id) permet d'affecter le symbole de classe id à une entité :

Bouquet::Bouquet() {
  ClassSymbol(BOUQUET)}
  ...
  printf("\nLa classe dont '%s' est une instance a %s (=%d) pour symbole.", 
         this->InstanceName(), ClassIdToCharTab[this->ClassSymbol()]);
  }
>>
La classe dont 'bouquet_812' est une instance a BOUQUET (=123) pour symbole.

On voit que le message ClassSymbol() adressé, par exemple, à une instance de la sous-classe Bouquet renvoie le symbole attribué (BOUQUET). A la position d'indice BOUQUET (123), se trouve la chaîne de caractères "BOUQUET".

Les entiers corrrespondant aux symboles doivent être tous strictement plus grands que zéro. En effet, l'entier 2 (équivalent au symbole BD_ENTITY) est utilisé par DIESE comme symbole de classe de Entity (voir page 'Constantes symboliques générales'). Ainsi, de même que DIESE contraint les symboles des classes d'une application A construite sur DIESE, l'application A contraint à son tour les symboles des classes d'une application B construite sur A.

Dans l'application A (fichier A_UserTypes.h), on écrit :

#include "B_diese.h"  // les énumérations dans BASIC DIESE
enum A_ClassId{I1=1, I2, I3};

Et dans l'application B (fichier B_UserTypes.h) :

#include A_UserTypes.h   // les énumérations dans l'application A
enum B_ClassId{J1=4, J2, J3};

This page was generated with the help of DOC++.