Sunteți pe pagina 1din 8

PROGRAMACION I

DANIEL ESTEBAN FORERO CASTRO

UNIVERSIDAD PEDAGOGICA Y TECNOLOGICA DE COLOMBIA


TUNJA
2017
MULTIPLICIDAD
La multiplicidad es el nmero de instancias que tiene una clase en relacin con
otra clase pueden ser de varias maneras: con un nmero fijo, indica que no puede
ser ms de lo que se indica, con un intervalo de valores 25, otra forma es la de
un nmero que indica el comienzo y al final un asterisco, este indica que empieza
con el nmero que se indica y el asterisco que pueden ser muchos o infinito, solo
el asterisco indica que puede tomar cualquier valor (cero o ms) , tambin se
puede usar la combinacin de cualquier manera siempre y cuando se encuentren
separados de comas.
La multiplicidad de una asociacin determina cuantos objetos de cada tipo
intervienen en la relacin

ASOCIACIONES
Generalmente se le conoce a la asociacin como una relacin estructural que
describe una conexin entre objetos.

TIPOS DE ASOCIACIONES
AGREGACIN
La agregacin es un tipo de asociacin que indica que una clase es parte de otra
clase (composicin dbil). Los componentes pueden ser compartidos por varios
compuestos (de la misma asociacin de agregacin o de varias asociaciones de
agregacin distintas). La destruccin del compuesto no conlleva la destruccin de
los componentes. Habitualmente se da con mayor frecuencia que la composicin.
La agregacin se representa en UML mediante un diamante de color blanco
colocado en el extremo en el que est la clase que representa el todo.
EJEMPLO

Tenemos una clase Empresa.


Tenemos una clase Cliente.
Una empresa agrupa a varios clientes.

COMPOSICIN
Composicin es una forma fuerte de composicin donde la vida de la clase
contenida debe coincidir con la vida de la clase contenedor. Los componentes
constituyen una parte del objeto compuesto. De esta forma, los componentes no
pueden ser compartidos por varios objetos compuestos. La supresin del objeto
compuesto conlleva la supresin de los componentes. El smbolo de composicin
es un diamante de color negro colocado en el extremo en el que est la clase que
representa el todo (Compuesto).
EJEMPLO
Tenemos una clase Empresa.
Un objeto Empresa est a su vez compuesto por uno
o varios objetos del tipo empleado.
El tiempo de vida de los objetos Empleado depende
del tiempo de vida de Empresa, ya que si no existe
una Empresa no pueden existir sus empleados.
DIFERENCIAS ENTRE COMPOSICIN Y AGREGACIN
AGREGACIN COMPOSICIN

Varias asociaciones comparten S No


los componentes

Destruccin de sus componentes No Si


al destruir el compuesto

Cardinalidd a nivel de Cualquiera 0..1 1


compuesto
Representacin Rombo transparente Rombo negro

Para traducir ambas relaciones a cdigo,


podemos utilizar un atributo en la clase
contenedora o compuesta donde
almacenaremos una coleccin de los objetos
que la componen, y por otro lado declararemos
un mtodo para agregar elementos a la
coleccin. Dependiendo del lenguaje de
programacin empleado, podemos utilizar
diferentes estructuras de datos que nos
permitan almacenar esa coleccin de objetos,
aunque generalmente se utilizan arrays
(arreglos) para este fin. Como podemos
apreciar, es tan simple como crear en la clase
Empresa un atributo clientes (coleccin de
clientes) que sea un array, luego creamos un
mtodo addCliente donde recibiremos objetos
de tipo Cliente y los agregaremos dentro del
array.
ASOCIACIONES UNIDIRECCIONALES Y BIDIRECCIONALES
La asociaciones suelen ser bidireccionales (Se pueden recorrer en ambos
sentidos), en ocasiones es deseable hacerlas unidireccionales (Restringir su
navegacin en un nico sentido). Grficamente, cuando la asociacin es
unidireccional, la lnea termina en una punta de flecha que indica el sentido de la
asociacin
EJEMPLO
Hemos supuesto que Dinero es un tipo de dato con el que se pueden hacer
operaciones aritmticas y hemos aadido al mtodo adicional que nos permite
comprobar el saldo de una cuenta
Con la excepcin de que el enlace bidireccional hemos de mantenerlo nosotros
WEBGRAFIA
http://www.cristalab.com/tutoriales/programacion-orientada-a-objetos-asociacion-
vs-composicion-c89337l/
https://www.seas.es/blog/informatica/agregacion-vs-composicion-en-diagramas-
de-clases-uml/
http://elvex.ugr.es/decsai/java/pdf/3C-Relaciones.pdf
https://lscauml.wordpress.com/2012/01/27/multiplicidad/
NOTACIN DE LAS ASOCIACIONES EN UML

S-ar putea să vă placă și