2008-12-01 66 views
6

Estoy intentando crear un diagrama UML representativo de algún código Java.Representación de métodos sobrecargados en UML

En una clase tengo un método que está sobrecargado.

Por lo que sé, los parámetros para los métodos no se muestran en los diagramas UML.

¿Cómo represento la sobrecarga de métodos en UML?

Gracias.

+0

¿Qué herramienta está utilizando? –

Respuesta

2

Compruebe las opciones de visualización para todo el diagrama o la clase/interfaz individual. La mayoría de las herramientas UML tienen opciones para mostrar mostrar la lista de parámetros de métodos.

3

En la subclase, especifique el método con la misma firma que el método que desea anular y agregue una nota {redefine} al método. Por ejemplo:

+doSomething(p:AThing):int{redefines} 

Esto implica que el método doSomething() anula el método en una superclase. Y sí, los parámetros para los métodos se muestran en diagramas. Como en el ejemplo p, es un parámetro del tipo AThing.

+1

+1, pero es posible que desee corregir la ortografía de {redifines} -> {redefines} – chimp

+2

La sobrecarga no es lo mismo que la redefinición. Puede que no haya ninguna clase base (que no sea Object), pero la clase podría tener foo (int): int y foo (double): double. –

2

no decir su herramienta y el diagrama UML (creo clase diagrama), pero hay 2 maneras:

  1. se puede escribir una nota acerca de este método;
  2. puede usar la palabra clave estereotipo escribiendo < < sobrecargado >> en este método;
0

La mayoría de las respuestas anteriores son correctas debido a una determinada pregunta. Alepuzio, Vincent y bmatthews68 tienen respuestas que tienen sentido en contexto.

** Si se trata de la pregunta Reemplazar un método de súper clases con la misma firma que redefinir es la definición correcta. Si se está sobrecargando porque crea el mismo método que toma diferentes argumentos, entonces no creo que esto sea posible para modelar estructuralmente, puede mostrar esto con un diagrama de secuencia, por ejemplo, que es de comportamiento, pero aún no realmente.

So + doSomething (p: AThing): int {redefines} es correcto, que es lo que Vincent puso.

** Si su problema/pregunta es solo acerca de los parámetros que no aparecen visualmente en un diagrama que suele ser una configuración en la mayoría de las herramientas UML.

** Si quiere aclarar aún más lo que está haciendo, utilice una palabra clave <>, también tenga en cuenta que una palabra clave no es un estereotipo, ya que no forma parte del metamodelo.

3

Cuando se habla de sobrecarga, p. Ej. en su clase tiene más métodos con el mismo nombre pero con una firma diferente (parámetros, tal vez valor de retorno según el idioma de destino ...), debe proporcionar la firma. UML no especifica que no puede tener parámetros de método.

Cuestiones relacionadas