POO (3): Relaciones entre clases
16 y 17 de agosto de 2011 Vamos a estudiar las relaciones entre clases. Le dedicaremos varios días. Hoy nos hemos dedicado a los 3 primeros tipos de relaciones: Se puede ver aquí el proyecto 160811CPO3 con las explicaciones de los dos primeros tipos de relación. NOTA: Javier prefiere colecciones. En este ejemplo, los objetos de la case Polígono van a tener una colección que contendrá objetos del tipo Vértice. Cuando los objetos están dentro de los objetos del otro se denomina Composición. Se señala con un rombo negro. Para distinguir la Composición de la Agregación, hacemos el siguiente proyecto. La diferencia básica de la Agregación es que si desaparece la clase Almacen se sigue manteniendo la clase agregada (Cliente). En la composición, al desaparecer la de Almacen también desaparecería la clase compuesta (Pasillo). Nota: la agregación se señala con un rombo vacío. ¿Cómo implementar una agregación? Hay 2 formas: a) Se pone la clave foránea en Clientes. b) En Almacen ponemos una colección con los NIF de los clientes. En el ejercicio optaremos por esta opción (si la clase Clientes tiene más relaciones con otras clases, parace más elegante). Para implementar la composición, las opciones son las mismas: a) Se pone la clave foránea en Clientes. b) En Almacen ponemos una colección con los Pasillos (directamente). Es la que empleamos en este proyecto. c) En Almacen ponemos una colección con los números de los Pasillos.