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 qu'il prenne en support la programmation orientée objet à l'aide de C, vous devez définir l'option ' Object Oriented Support ' sur True sur la page 'C Specifications' de la boîte de dialogue 'Preferences'.
Stéréotypes
Stéréotype |
S'applique à |
Voir également |
---|---|---|
énumération |
Classer Correspond à : un type énuméré. |
|
structure |
Classer Correspond à : Un type 'struct'. |
|
Attribut |
Une structure de mot-clé dans la définition de variable. |
|
typedef |
Classer Correspond à : une instruction 'typedef', où le parent est le nom du type d'origine. |
|
syndicat |
Classer Correspond à : un type d'union. |
|
Attribut |
Une union de mots clés dans la définition de variable. |
Valeur Étiquetés
Étiqueter |
S'applique à |
Voir également |
---|---|---|
anonyme |
Classe avec stéréotype 'énumération', 'struct' ou 'union' Correspond à : le nom de cette classe étant défini uniquement par l'instruction typedef. |
|
bodyLocation |
Opération Correspond à : l'emplacement auquel le corps de la méthode est généré ; les valeurs attendues sont 'header', 'classDec' ou 'classBody'. |
|
définir |
Attribut Correspond à : instruction '#define'. |
|
typedef |
Classe avec stéréotype 'énumération', 'struct' ou 'union' Correspond à : cette classe est définie dans une instruction 'typedef'. |
Génération de code C orienté objet pour le Modèle UML
L'idée de base de l'implémentation d'une classe UML dans le code C est de regrouper la variable 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 s'y est référé.
Une opération dans une classe UML est implémentée en code C en tant que fonction ; le nom de la fonction doit être un nom qualifié complet 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 ' Namespace Delimiter' sur la page 'C Specifications') est utilisé pour joindre le nom de la classe et le nom de la fonction (opération).
La fonction en code C doit également avoir un paramètre de référence à l' object Class - vous pouvez modifier les options 'Reference as Operation Parameter', 'Reference Parameter Style' et 'Reference Parameter Name' sur la page 'C Specifications' pour prendre en support cette référence paramètre.
Limites 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 en 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 de code C.
- La 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é