Clases y relaciones java
1
Temas
• • • • • Relaciones entre clases Tipos de Asociaciones Cardinalidad Roles Navegabilidad Diagrama de Clases
2
Clases y Relaciones
• Relaciones entre clases
– Son asociaciones lógicas entre clases – Implican un camino (link) conectando objetos de dos clases.
• Formas básicas
– Asociación
• Agregación • Composición • Dependencia
3
1
Clases yRelaciones
• Asociación
– Representan relaciones estructurales entre objetos de diferentes (o la misma) clases.
4
Asociación & Link Asociació
RenglonFactura 1 * Producto
unRenglon link
unProducto
Asociación y Link
5
Clases y Relaciones
• Asociación (cont.)
– Las asociaciones pueden tener un nombre que las identifique.
trabaja en Empresa 1 1..* Funcionario
6
2Clases y Relaciones
• Roles
– En cada extremo de la asociación puede especificares un nombre de ROL que muestra como una clase ve a su opuesta.
Empresa +empleador 1 -funcionarios Funcionario 1..*
7
Clases y Relaciones
• Multiplicidad
– Indica cuantos objetos de una clase se conectan con cuantos de la otra clase. • uno a uno • uno a muchos • muchos a muchos • La multiplicidad puede sercero.
8
Ejemplos
9
3
Clases y Relaciones
• Navegabilidad
– Indica el sentido según el cual se puede acceder de una clase a otra. – La ausencia del símbolo de navegabilidad en ambos extremos de la asociación implica bi-direccionalidad
10
Clases y Relaciones
Persona dueño 1 cuenta bancaria cuenta 1..* CtaCte
11
Clases y Relaciones
• Los conceptos de:
– Roles –Navegabilidad – Multiplicidad
• son aplicables a todos los tipos de relaciones
12
4
Clases y Relaciones
• Agregación
– Representa una relación CompuestoComponente.
• Composición
– Es un caso particular de Agregación que implica relación de vida entre el compuesto y sus Componentes
13
Ejemplo(s)
Clases y Relaciones
public class Automovil { private Volante lnkVolante; }
publicclass Circulo { private Punto lnkPunto; }
14
Clases y Relaciones
Empleado composición 1 1 1 HistoriaLaboral
1 Cargo
15
5
Clases y Relaciones
• Dependencia
• Indica una relación del tipo cliente-servidor o dependencia de uso entre clases. • Indica que el cambio en la especificación de un elemento impacta en el otro elemento. • La dependencia normalmente se da porque:
– unmétodo recibe como parámetro un objeto de otra clase – un método tiene una variable local del tipo de otra clase – una clase es “friend” de otra.
16
Clases y Relaciones
Reporte
Impresora
17
Clases y Relaciones - Ejemplo
Cliente guardarNombre( ) obtenerNombre( ) obtenerFacturas( ) obtenerDescuento( ) 1 cliente Renglon 1 cantidad( ) precio( ) importe( ) 1..* renglones venden vendidoProducto 0..* obtenerDescripcion( ) obtenerPrecio( )
facturas 1..* DocumentoVenta calcularTotal( ) obtenerCliente( ) guardarCliente( ) fecha( )
1
18
6
Clases y Relaciones
19
Clases y Relaciones
• Otros elementos del diagrama de clases
Funcionario
Empresa
– Constraints – Stereotypes – Notas
1..*
1
usar una tabl a de hash
20
Clases y Relaciones
• Constraint– Es la especificación de alguna condición que se debe cumplir para que el modelo sea correcto.
Alumno 1 inscripcion 0..* {debe cumplir la regla X - 3 } Examen
21
7
Clases y Relaciones
• Stereotypes
– Permite especificar una meta-clasificación de elementos del modelo. – Util para extender la notación – Es aplicable a todos los elementos básicos VentanaIngreso de la notación
22Clases y Relaciones
• Clase de Asociación
– Es una asociación que tiene atributos.
Alumno 0..* 0..* Curso
Inscripción semestre fecha
23
Clases y Relaciones
• Clase de Asociación
– Otra forma menos restrictiva
Alumno 1 0..* Inscripción 0..* 1 Curso
24
8
Diagrama de Clases
25
Clases y Relaciones
• Diagrama de Clases
– Describe las clases en el sistema y los...
Regístrate para leer el documento completo.