Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/12/2013, 04:01
Avatar de vangodp
vangodp
 
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: Utilizacion de struct c++

Bueno eh estado leyendo sobre el tema y así por encima va mas o menos así XD

Agregación y composición en lo que se refiere a código es lo mismo(O bien no se diferencia uno de otro).

Pero agregación y composición son diferentes conceptos.

Composición:
Si un objeto A esta esta compuesto por un segundo objeto B ya sabemos lo que es..."composición".
El tiempo de vida del objeto B esta condicionado por el tiempo de vida del objeto A (B no existe sin A).
Un coche esta compuesto por ruedas, puerta motor(Un coche tiene un....).
Si elimino el todo sus partes también dejan de existir o no servirían.
¿Queda claro lo que es composición? :D

Agregación:
Es cuando agregamos varios objetos B, C, D... para formar un objeto A.
Ejemplo: agregamos una pantalla, un ratón, un disco duro y muchos mas objetos para formar un ordenador.
Se puede decir que ordenador tiene una pantalla, tiene un disco duro, tiene un ratón...(Tiene un/uno/una...)
¿Queda claro que es agregación?

Bien, miremos otros aspectos que diferencian agregación de composición:
El tiempo de vida del los objetos B, C o D no esta condicionado por el tiempo de vida del objeto A
(B, C, D... siguen existiendo aun que A desaparezca).
Pantalla, ratón y teclado siguen existiendo aun que eliminemos ordenador.
El Todo no influencia en las partes.

Lo que se refiere a código es lo mismo, es el concepto como dije antes el que varia.
Mas o menos ya sabemos cual elegir en determinado caso.

Si se supone que la programación orientada a objeto se basa en re-aprovechar el código hay que tener bien claro este concepto por que imaginemos que creamos una clase que depende de muchas otras, o que no funcione sin muchas clases asociadas seria una ruina re-aprovechar algunos códigos.

Deberías leer algo sobre uml o conceptos de POO, y por supuesto yo también XD

Saludos y mucha suerte! XD

PD: Asociacion:
Es la relación entre clases(Una clase depende de otra).
Agregación/Composición es un tipo derivado de esa relación.

Última edición por vangodp; 07/12/2013 a las 04:08