Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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").
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
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).
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
35
36
37
38
39