Operaciones UML

La transformación genera una operación UML como método para su clase y utiliza las propiedades UML siguientes: 

Propiedad

C++

Name

El nombre del método (se aplica la validación del nombre)

Visibility

Determina la visibilidad del método

IsAbstract

Genera el método como un método virtual puro

IsQuery

Genera el método como const (añade "const" al sufijo de la operación)

IsStatic

Genera el método dentro del ámbito de la clase en lugar del ámbito de la instancia (añade la palabra clave static al prefijo de la operación)

El tipo del parámetro de retorno de la operación UML pasa a ser el tipo del método C++ generado. Si no existe ningún parámetro de retorno, el tipo de retorno del método se asume que está vacío (a excepción de las operaciones estándares). Aparece un aviso para las operaciones que carezcan de parámetros de retorno o que tengan más de un parámetro de retorno.  

Pueden especificarse varias propiedades específicas de C++ aplicando el estereotipo operación_cpp a la operación UML:

·         isInline: La transformación genera la operación como incorporada (añade el cuerpo de la operación a la cabecera)

·         isVirtual: Declara la operación como una función virtual

·         isFriend: Genera una operación de tipo amigo

C++ no permite que se combine un calificador estático con un calificador virtual ni de amigo. Para fines de generación de código, la transformación prefiere un calificador estático.

Parámetros UML

La transformación transforma los parámetros UML en argumentos de operaciones de C++. La transformación no genera parámetros con un tipo de "retorno" sino que los utiliza como indicadores del tipo de retorno de la operación. La transformación transforma el tipo del parámetro en el tipo de un argumento.

La transformación transforma los parámetros que tienen una dirección de "salida" o de "entrada/salida" en referencias (es decir, añade un calificador "&" a la especificación de tipo).

La transformación utiliza el valor por omisión del parámetro para especificar el valor por omisión del argumento de la operación C++.  

También existe la opción de aplicar el estereotipo tipo_cpp a un parámetro UML. Este estereotipo tiene un atributo de calificador que puede utilizarse para especificar cualquier cadena de caracteres como un calificador para el tipo generado.  

Los ejemplos siguientes muestran la forma en que ciertas condiciones afectan el código resultante: 

·        Si se especifica el tipo de operación (por ejemplo, Clase1) y no se especifica el calificador o no se aplica el estereotipo, el código generado para el atributo será "Clase1 <NombreArgumento>". 

·         Si no se especifica el tipo de operación y se aplica el estereotipo tipo_cpp y se establece la cadena de caracteres del calificador en "int", el código generado será "int <NombreArgumento>". 

·         Si se especifica el tipo de operación (Clase1) y se aplica el estereotipo tipo_cpp y se establece la cadena de caracteres del calificador en" * const ", el código generado será "Clase1 * const <NombreArgumento>". 

La transformación añade a la lista de inclusión las clases UML que los parámetros utilicen.

La transformación genera los parámetros en el orden proporcionado por el servidor de modelos.

Al principio

Condiciones de uso | Comentarios
(C) Copyright IBM Corporation 2004. Reservados todos los derechos.