Il est possible de définir une hiérarchie de classes pour les entités. Par exemple, on veut dire que C est une sorte de B, et que B est une sorte de A. Une fois cette hiérarchie définie (voir page 'Gestion de la hiérarchie des classes d'entités'), les services ci-dessus permettent de tester les liens de filiation entre classes, et de déterminer si une entité possède les propriétés d'une classe, soit parce qu'il est instance directe de la classe, soit parce que sa propre classe a hérité ces propriétés.
void AddInstanceToClass()
- Attribue un symbole de classe et un nom de classe à l'entité réceptrice du message, puis ajoute l'entité à la liste des instances de sa classe. Crée la liste si l'entité est la première instance créée pour cette classe. Attention ! Cette méthode doit obligatoirement être invoquée dans le constructeur de chaque sous-classe utilisateur des entités (voir page 'Gestion de la hiérarchie des classes d'entités'). Elle inclut notamment les effets des appels ClassSymbol(id) et ClassName(nomc).
void RemoveInstanceFromClass(UserClassId id)
- Cette méthode, décrite ici pour information, est invoquée dans le destructeur de la classe BasicEntity et ne doit normalement pas être invoquée dans le code utilisateur. Elle retire l'entité de la liste des instances de sa classe. Attention ! cette méthode n'est pas le destructeur défini pour la classe. C'est ce dernier qui doit être invoqué pour libérer l'espace occupé par l'entité elle-même.
UserClassIdTab ParentIds() const
- Renvoie la liste des symboles des classes immédiatement parentes. Le symbole de la classe même du récepteur n'est pas inclus dans la liste.
UserClassIdTab AncestorIds() const
- Renvoie la liste des symboles des classes parentes, à tous les niveaux supérieurs. Le symbole de la classe même du récepteur n'est pas inclus dans la liste.
void AncestorIds(UserClassIdTab& result) const
- Etablit la liste des symboles des classes parentes, à tous les niveaux supérieurs. Le symbole de la classe même du récepteur n'est pas inclus dans la liste. Le résultat devient la valeur du second argument (transmis par référence au programme appelant).
Boolean IsDirectInstanceOf(UserClassId) const
- Renvoie vrai si le récepteur du message est une instance de la classe dont le symbole est passé en argument, et faux sinon.
Boolean IsInstanceOf(UserClassId) const
- Renvoie vrai si le récepteur du message est une instance de la classe dont le symbole est passé en argument ou d'une de ses classes descendantes, et faux sinon.
void SetOutputFile(OutputFile* pF)
- Service normalement utilisé dans le constructeur d'une classe. Détermine le fichier (plus exactement l'instance de OutputFile dans lequel seront écrits les informations demandées dans les spécifications de sortie attachées à la classe en question.
OutputFile* GetOutputFile() const
- Renvoie le fichier déterminé par l'utilisation du service ci-dessus.