3.4 Relaciones entre Clases
Las clases, al igual que los objetos, no existen de modo aislado. La Orientación a Objetos (POO) intenta modelar aplicaciones del mundo real tan fielmente como sea posible y por lo tanto debe reflejar estas relaciones entre clases y objetos. Según G. Booch [Booch, 94] existen tres clases básicas de relaciones entre los objetos:
1. Agregación / Composición (todo-parte//tiene-un // parte-de). Esta relación se presenta entre una clase TODO y una clase PARTE que es componente de TODO. La implementación de este tipo de relación se consigue definiendo como atributo un objeto de la otra clase que es parte-de. Los objetos de la clase TODO son objetos contenedores. Un objeto contenedor es aquel que contiene otros objetos. En la agregación, las clases contienen objetos, y no otras clases. Tipos de agregación
El contenedor contiene el objeto en sí. Cuando creamos un objeto contenedor, se crean también automáticamente los contenidos.
Se tienen punteros a objetos. No hay un acoplamiento fuerte. Los objetos se crean y se destruyen dinámicamente. La relación de agregación/composición establece jerarquías de clases por grado de composición.
1.2. Asociación Especifica una relación semántica entre objetos no relacionados. Este tipo de relaciones permiten crear asociaciones que capturen los participantes en una relación semántica. Es una relación entre clases. Implica una dependencia semántica. Son relaciones del tipo “pertenece_a” o “está_asociado_con”. Se da cuando una clase usa a otra clase para realizar algo. |