Buenas, quería consultarles:
Si en una relación de agregación entre dos clases, en el sentido de que una clase A 'contiene' objetos de clase B, pero cuando A se inicializa no tiene ningún objeto de B dentro, imagino entonces en el diagrama que se modela como que la agregación va de 1 a 0..*
El tema es que en el normal funcionamiento del programa no tendría sentido (aunque fuera posible) que A no tenga ningún elemento de B. Entonces la relación sería de 1 a 1..* ?
Más que nada pregunto por el caso en el tp de la clase Compra y Producto, una compra contiene productos pero puede no tenerlos, sin embargo no tendría sentido que exista una compra sin productos.
Saludos.
Hola Ariel,
Para que la relación de agregación entre Compra y Producto sea 1..* sería necesario que la clase Compra tenga un único constructor que reciba un producto (o una colección de productos no vacía). De esa manera sería imposible que exista una compra sin al menos un producto y estaría bien escribir 1..* en la relación.
Pero la clase AlgoBay está diseñada como una API en la cual el usuario primero crea la compra y luego le va agregando productos por lo que estás obligado a crear una compra sin productos y la relación será representada como 0..*.
Saludos,
Tomás