Está en la página 1de 39

 Determinar la importancia de las relaciones

entre objetos
 Conceptualizar la dependencia y su uso
 Analizar y determinar la diferencia entre
agregación y composición
 Aplicar la relación entre objetos

2
 Un conjunto de objetos aislados tiene escasa
capacidad para resolver un problema. En
una aplicación real los objetos colaboran e
intercambian información, existiendo distintos
tipos de relaciones entre ellos
 A nivel de diseño se puede distinguir entre 5
tipos de relaciones básicas entre clases de
objetos:
◦ Dependencia, asociación, agregación,
composición y herencia

3
 Una asociación es una conexión entre dos clases que
representa una comunicación
◦ Una asociación puede tener nombre
◦ La comunicación puede ser tanto uni como bi-direccional (por
defecto)
◦ La multiplicidad es el número de instancias que participan en
una asociación
 Ejemplo
◦ Una persona es Dueña de un Vehículo
◦ Un Vehículo pertenece a una Persona

5
 La cardinalidad o multiplicidad de una
relación es el número de posibles instancias
de la clase asociada con una simple
instancia de la otra clase.
 Las cardinalidades pueden ser:
◦ 1 Exactamente una instancia
◦ * Sin límite de instancias
◦ 0..1 Cero o una instancia
◦ 0..* Sin límite de instancias incluido 0
◦ 1..* Al menos una instancia

6
7
8
 Clase Futbolista
 Clase Balon

9
10
11
12
13
14
15
16
17
18
19
20
Agregación y Composición
22
 Por Valor: Es un tipo de relación estática, en
donde el tiempo de vida del objeto incluido esta
condicionado por el tiempo de vida del que lo
incluye. Este tipo de relación es comúnmente
llamada Composición (el Objeto base se
construye a partir del objeto incluido, es decir, es
"parte/todo").

 Por Referencia: Es un tipo de relación dinámica,


en donde el tiempo de vida del objeto incluido
es independiente del que lo incluye. Este tipo de
relación es comúnmente llamada Agregación (el
objeto base utiliza al incluido para su
funcionamiento).

23
 La agregación es una asociación binaria que
representa una relación todo-parte (pertenece a
tiene un, es parte de). Por ejemplo, un centro
comercial tiene clientes.
 A nivel práctico se suele llamar agregación
cuando la relación se plasma mediante
referencias (lo que permite que un componente
esté referenciado en más de un compuesto). Así,
a nivel de implementación una agregación no se
diferencia de una asociación binaria.
 Por ejemplo: un equipo y sus integrantes

24
25
 la agregación representa una parte de un todo,
pero no necesariamente tiene que existir para
que el todo exista, es el caso de Aplicación y
Base de Datos, una aplicación puede existir sin
ella, igualmente una Base de Datos no necesita
una Aplicación para existir

 En el caso de la composición, es diferente, en el


ejemplo la clase Código, que es parte de la
composición de Aplicación, que no puede existir
sin Código, por eso es una Composición.

26
27
 La composición es un tipo de agregación fuerte que
añade el matiz de que la clase “todo” controla la
existencia de clases “parte”. Es decir, normalmente
la clase “todo” creará al principio las clases “parte” y
al final se encargará de su destrucción
 Como máximo, con una instancia ‘todo’ en un
momento dado, de forma que cuando un objeto
‘todo’ es eliminado, también son eliminados sus
objetos ‘parte’.
 Por ejemplo:
◦ Un rectángulo tiene cuatro vértices
◦ un centro comercial está organizado mediante un conjunto
de secciones de venta
◦ un ser humano y sus miembros

28
 son asociaciones que representan acumulaciones
muy fuertes. Esto significa que las composiciones
también forman relaciones completas, pero dichas
relaciones son tan fuertes que las partes no pueden
existir por sí mismas. Únicamente existen como parte
del conjunto, y si este es destruido las partes también
lo son.

29
30
 Un Almacén posee Clientes y
Cuentas (los rombos van en el
objeto que posee las referencias).

 Cuando se destruye el Objeto


Almacén también son destruidos
los objetos Cuenta asociados, en
cambio no son afectados los
objetos Cliente asociados.

 La composición (por Valor) se


destaca por un rombo relleno.

 La agregación (por Referencia)


se destaca por un rombo
transparente.

31
 Un punto consta de varias operaciones que
pueden realizarse sobre el mismo:
◦ Inicializar su posición x, y
◦ Cambiar coordenadas x, y
◦ Desplazar sus coordenadas x, y
◦ Imprimir en pantalla sus coordenadas x, y

33
 Un circulo se definirá con los siguientes atributos:
◦ Centro (Coordenas x,y)
◦ Radio
 Sus operaciones serán
◦ Inicializar su estado con el radio y las coordenadas x,y
◦ Inicializar su estado con un objeto punto y radio
◦ Obtener centro del circulo
◦ Obtener radio del circulo
◦ Definir área del círculo (PI * radio2)
◦ Definir perímetro del circulo (2 * PI * radio)
◦ Desplazar el centro del circulo
◦ Imprimir en pantalla su centro y radio

34
 Se crearán tres objetos tipos círculos y se
probarán todas las operaciones de
desplazamiento, área, perímetro e impresión
en pantalla

 Primero deberá diseñarse el modelo UML


correspondiente

35
36
37
38
39

También podría gustarte