La transformación transforma los atributos de UML en atributos de C++ y utiliza las propiedades de UML siguientes:
Propiedad |
C++ |
Name |
Crea una variable de nombre nueva con el nombre especificado (elimina los caracteres no permitidos) |
Visibility |
Determina la visibilidad del atributo generado |
Type |
Genera el miembro con el tipo especificado |
IsStatic |
Genera el atributo en el ámbito de la clase en vez del ámbito de la instancia |
defaultValue |
Se convierte en el valor inicial del atributo. La transformación utiliza el valor por omisión que se haya proporcionado sin alterarlo de ningún modo. Si el valor por omisión debe aparecer entre comillas en el código C++, asegúrese de incluir las comillas en el valor de UML por omisión. |
También existe la opción de aplicar el estereotipo tipo_cpp a un atributo de UML. La transformación procesa la propiedad de "calificador" del estereotipo de la misma manera que la propiedad de UML.
Si se establece el atributo InitializerKind del tipo_cpp en "asignación" o si éste no se especifica, el atributo utiliza un operador de asignación (por ejemplo, "MiAtributo = 3") en las definiciones estáticas. Si se establece el atributo en "constructor", la transformación invoca el constructor del atributo para crear el valor del atributo (por ejemplo, "MiAtributo(3)") en las definiciones estáticas.
La transformación añade a la lista de inclusiones de clases los tipos de datos que los atributos de clase utilicen.