Pré. | Proc. |
Programmation orientée Object en C
Dans Enterprise Architect , vous appliquez un certain nombre de conventions pour la programmation orientée objet en C.
Pour configurer le système afin de support de C, vous devez définir l'option « Support orientée Object » sur True dans la page « Spécifications C » de la dialogue « Préférences ».
Stéréotypes
Stéréotype |
S'applique à |
Voir aussi |
---|---|---|
énumération |
Classe Correspond à : un type énuméré. |
|
structure |
Classe Correspond à : un type « struct ». |
|
Attribut |
Une structure de mot-clé dans la définition de variable. |
|
définition de type |
Classe Correspond à : une instruction « typedef », où le parent est le nom du type d'origine. |
|
union |
Classe Correspond à : Un type d'union. |
|
Attribut |
Une union de mots clés dans la définition de variable. |
Valeur Étiquetés
Étiquette |
S'applique à |
Voir aussi |
---|---|---|
anonyme |
Classe avec le stéréotype « enumeration », « struct » ou « union » Correspond à : Le nom de cette classe étant défini uniquement par l'instruction typedef. |
|
Emplacement du corps |
Opération Correspond à : l'emplacement où le corps de la méthode est généré ; les valeurs attendues sont « header », « classDec » ou « classBody ». |
|
définir |
Attribut Correspond à : instruction « #define ». |
|
définition de type |
Classe avec le stéréotype « enumeration », « struct » ou « union » Correspond à : Cette classe étant définie dans une instruction « typedef ». |
Génération de code C orienté objet pour Modèle UML
L'idée de base de l'implémentation d'une classe UML dans le code C est de regrouper les variables de données (attributs UML ) dans un type de structure ; cette structure est définie dans un fichier .h afin qu'elle puisse être partagée par d'autres classes et par le client qui y fait référence.
Une opération dans une classe UML est implémentée dans le code C en tant que fonction ; le nom de la fonction doit être un nom entièrement qualifié composé du nom de l'opération, ainsi que du nom de la classe pour indiquer que l'opération est destinée à cette classe.
Un délimiteur (spécifié dans l'option « Délimiteur Namespace » sur la page « Spécifications C ») est utilisé pour joindre le nom de la classe et le nom de la fonction (opération).
La fonction dans le code C doit également avoir un paramètre de référence à l' object Class - vous pouvez modifier les options « Référence comme paramètre d'opération », « Style de paramètre de référence » et « Nom du paramètre de référence » sur la page « Spécifications C » pour support ce paramètre de référence.
Limitations de la programmation orientée objet en C
- Pas de mappage de portée pour un attribut : un attribut dans une classe UML est mappé à une variable de structure dans le code C et sa portée (privée, protégée ou publique) est ignorée
- Actuellement, une classe interne est ignorée : si une classe UML est la classe interne d'une autre classe UML , elle est ignorée lors de la génération du code C
- valeur initiale est ignorée : la valeur initiale d'un attribut dans une classe UML est ignorée dans le code C généré