La trasformazione trasforma gli attributi UML in attributi C++ e utilizza le proprietà di seguito riportate:
Proprietà |
C++ |
Nome |
Crea una nuova variabile di membro con il nome specificato (rimuove i caratteri non consentiti) |
Visibilità |
Determina la visibilità dell'attributo generato |
Tipo |
Genera il membro con il tipo specificato |
IsStatic |
Genera l'attributo con la classe invece dello scopo dell'istanza |
ValorePredefinito |
Diventa il valore iniziale dell'attributo. La trasformazione utilizza il valore predefinito fornito senza alterazioni. Se il valore predefinito si trova tra gli apici nel codice C++, assicurarsi di includere gli apici nel valore predefinito UML. |
Facoltativamente, è possibile applicare lo stereotipo cpp_type ad un attributo UML. La trasformazione elabora la proprietà "qualificatore" dello stereotipo allo stesso modo della proprietà UML.
Se viene impostato l'attributo InitializerKind di cpp_type ad "assegnazione", o non viene specificato, l'attributo utilizza un operatore di assegnazione (ad esempio, "MyAttribute = 3") nelle definizioni statiche. Se si imposta l'attributo su "costruttore", la trasformazione richiama il costruttore dell'attributo per la creazione del valore dell'attributo (ad esempio, "MyAttribute(3)") nelle definizioni statiche.
La trasformazione aggiunge tipi di dati utilizzati dagli attributi di classe all'elenco di inclusione della classe.