es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Usar una instancia de una clase dentro de otra clase se considera como una dependencia o una asociación?

Tengo dificultades para determinar si instanciar una clase dentro de otra y luego utilizar algunos de sus métodos se considera una dependencia o una asociación en los diagramas de clases de UML. Por ejemplo:

public class Example {
    Thing thing = new Thing();

    public void method() {
            thing.doSomething();
    }
}

¿Es esto una asociación porque Example “tiene un” Thing? ¿O es una dependencia porque Example tiene un método que “utiliza” Thing para funcionar correctamente?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    En los diagramas de clases UML, instanciar una clase dentro de otra y luego usar sus métodos se considera una asociación. En el ejemplo dado, Ejemplo “tiene un” Thing, lo que indica una relación de composición donde Ejemplo está compuesto por Thing. Esta asociación es diferente de una dependencia, donde Ejemplo depende de Thing para funcionar correctamente. Una dependencia se representa con una flecha discontinua y una cabeza de flecha sólida apuntando hacia la clase independiente, mientras que una asociación se representa con una línea sólida que conecta las clases, con un diamante al final que representa la clase compuesta. Por lo tanto, la relación entre Ejemplo y Thing en el fragmento de código proporcionado es una asociación en los diagramas de clases UML.

Comments are closed.