Documentos de Académico
Documentos de Profesional
Documentos de Cultura
- 23 -
Fernando Berzal
Asociacin
Una asociacin es una relacin estructural
que describe una conexin entre objetos.
Asociacin unidireccional
Asociacin bidireccional
OOP Introduccin: Java
- 24 -
Fernando Berzal
equivale a
class Cuenta
{
private Dinero balance;
public void ingresar (Dinero cantidad)
{
balance += cantidad;
}
public void retirar (Dinero cantidad)
{
balance -= cantidad;
}
public Dinero getSaldo ()
{
return balance;
}
}
- 25 -
Fernando Berzal
con la salvedad de
que el enlace bidireccional hemos de mantenerlo nosotros
}
public class Cliente
{
- 26 -
Fernando Berzal
Multiplicidad
1
0..1
N..M
*
0..*
1..*
Significado
Uno y slo uno
Cero o uno
Desde N hasta M
Cero o varios
Cero o varios
Uno o varios (al menos uno)
- 27 -
Fernando Berzal
dirige
Profesor
Departamento
0..1
Relacin opcional
Un cliente puede o no
ser titular de una cuenta
Relacin obligatoria
Una cuenta ha de tener
un titular como mnimo
Relaciones involutivas
Cuando la misma clase aparece en los dos extremos de la asociacin.
- 28 -
Fernando Berzal
Agregacin y composicin
Casos particulares de asociaciones:
Relacin entre un todo y sus partes
Grficamente,
se muestran como asociaciones con un rombo en uno de los extremos.
Agregacin
Las partes pueden formar parte de distintos agregados.
Composicin
Agregacin disjunta y estricta:
Las partes slo existen asociadas al compuesto
(slo se accede a ellas a travs del compuesto)
- 29 -
Fernando Berzal
Dependencia
Relacin (ms dbil que una asociacin) que muestra la relacin entre
un cliente y el proveedor de un servicio usado por el cliente.
- Cliente es el objeto que solicita un servicio.
- Servidor es el objeto que provee el servicio solicitado.
Ejemplo
Resolucin de una ecuacin de segundo grado
b b 2 4ac
x=
2a
Para resolver una ecuacin de segundo grado hemos
de recurrir a la funcin sqrt de la clase Math
para calcular una raz cuadrada.
NOTA:
La clase Math es una clase degenerada que no tiene
estado. Es, simplemente, una coleccin de funciones
de clculo matemtico.
OOP Introduccin: Java
- 30 -
Fernando Berzal
- 31 -
Fernando Berzal
Instancias:
coches vehculos
Propiedades:
propiedades(coches) propiedades(vehculos)
- 32 -
Fernando Berzal
Jerarquas de clases
En el diagrama de clases,
los atributos, mtodos y relaciones de una clase se muestran en el nivel
ms alto de la jerarqua en el que son aplicables.
- 33 -
Fernando Berzal