Modelo clase

 Agregación y composición en UML.

Una relación entre clases se puede definir como una conexión entre dos o más clases. En orientación a objetos, las principales relaciones que se pueden establecer entre clases son las de generalización (o herencia), asociación, agregación y dependencia (o uso).

Las relaciones de agregación y composición son tipos especiales de asociación. En las asociaciones binarias, se asume que las instancias de ambas clases son independientes, en el sentido de que no dependen de la existencia de las instancias de la otra clase. Sin embargo, las relaciones de agregación asumen una subordinación conceptual del tipo “todo/parte”, o bien “tiene un”.

Agregación: Las agregaciones se representan mediante un rombo en la parte del objeto agregado, para distinguirlo de los objetos “más pequeños” que contiene. Por ejemplo, puede considerarse que un Grupo de Trabajo es un agregado de sus miembros, lo cual no implica que cuando el grupo se disuelva, las instancias que representan a sus miembros deban eliminarse también. Nótese que las estructuras de objetos resultantes son en general un grafo dirigido acíclico.

Ejemplo:












Está la clase de empresa, la clase cliente y hace referencia a que una empresa agrupa a varios clientes.

Composición: es un tipo de agregación más específico en el cual se requiere que una instancia de la clase que representa a las partes esté asociada como mucho con una de las instancias que representan el “todo” (nótese que no puede haber multiplicidad “muchos” en el extremo del agregado). De esta manera, el objeto compuesto gestiona sus partes en exclusiva. Por lo general, la estructura de objetos resultantes es siempre un árbol. Un ejemplo típico es un procesador de textos que estructure los documentos en páginas, y éstas en párrafos. La notación en UML es utilizar un rombo relleno en el lado de la clase que representa al “todo”.

En Java, esto significa que el documento guardará referencias a sus páginas en exclusiva, es decir, no las cederá a otros objetos, y deberá proveer mecanismos para la creación y el borrado de páginas. Siguiendo el ejemplo anterior, si pedimos que se copie o imprima un documento, el documento hará copia o mandará imprimir a sus páginas y a su vez, las páginas harán lo mismo con los párrafos que contienen.

Ejemplo:












Como el ejemplo anterior hay una empresa, esta se compone de objetos de tipo empleado; el tiempo de vida de los objetos (en este caso empleados) depende del tiempo de vida de la empresa. en conclusión, si no hay una empresa no pueden existir sus empleados.

Comentarios

Entradas populares de este blog

ventaja del sistema operativo

conjuntos numericos aplicados a la vida cotidiana