Agregación vs. Composición

Autor: Laura McKinney
Fecha De Creación: 4 Abril 2021
Fecha De Actualización: 13 Mayo 2024
Anonim
Agregación vs. Composición - Otro
Agregación vs. Composición - Otro

Contenido

La diferencia clave entre la agregación y la composición es que en la agregación hay una relación padre-hijo en la que el niño puede existir independientemente, mientras que la composición es una relación padre-hijo en la que el niño no puede existir independientemente sin un padre.


La asociación es un concepto muy importante en la programación orientada a objetos. En la programación orientada a objetos, los datos se ocultan de las funciones no miembros de una clase. Solo la función miembro de una clase puede usar datos. Cualquier función que no sea miembro puede modificar los datos que están dentro de la clase de función. Objeto y clases son los conceptos principales de la programación orientada a objetos. La encapsulación de datos que también se conoce como abstracción y herencia también se logra en la programación orientada a objetos. La agregación y la composición son tipos de asociación y son un concepto muy importante en la programación orientada a objetos. En la agregación, hay una relación padre-hijo en la que un hijo puede existir independientemente, mientras que la composición es una relación padre-hijo en la que un hijo no puede existir independientemente sin un padre. La composición tiene un paradigma común en la programación orientada a objetos que es muy importante en el desarrollo de software. La forma restrictiva de asociación es una composición en la que existe una relación padre-hijo en la que el niño no puede existir independientemente sin un padre. En UML está representado por un pequeño diamante sólido.


En composición, la parte constituyente se puede vincular a la mayoría en el ensamblaje. Una clase se convierte en contenedor y otra clase se convierte en contenido que está en ese contenedor. Eso tiene una parte de herencia muy fácil, y el método de una clase se puede usar sin siquiera escribir todo el código nuevamente. Hay una relación "parte de" en la composición. La agregación es una relación con una clase de ensamblado con la clase constituyente. En UML, es un lenguaje de modelado unificado que muestra la relación de agregación con un segmento de línea. La agregación muestra una relación como uno a uno, uno a muchos, muchos a muchos. Si una sola clase tiene múltiples clases, hay una a muchas relaciones, mientras que muchas clases tienen múltiples objetos es la relación de muchos a uno. "Tiene un" es una relación que se describe en la agregación.

Contenidos: diferencia entre agregación y composición

  • Cuadro comparativo
  • ¿Qué es la agregación?
  • Diferencias clave
  • Conclusión
  • Video explicativo

Cuadro comparativo

BaseAgregación Composición
SentidoEn la agregación, hay una relación padre-hijo en la que el niño puede existir independientemente

La composición es una relación padre-hijo en la que un hijo no puede existir independientemente sin un padre.


 

AsociaciónHay una asociación débil en la agregación.Existe una fuerte asociación en la composición.
UMLEn UML, la agregación se puede definir utilizando el segmento de líneaEn UML, la composición se puede definir mediante el uso de diamantes.
FunciónLa eliminación del ensamblado no tiene ningún efecto en la agregación.La eliminación de la composición puede afectar la composición.

¿Qué es la agregación?

La agregación es una relación con una clase de ensamblado con la clase constituyente. En UML, es un lenguaje de modelado unificado que muestra la relación de agregación con un segmento de línea. La agregación muestra una relación como uno a uno, uno a muchos, muchos a muchos. Si una sola clase tiene múltiples clases, hay una a muchas relaciones, mientras que muchas clases tienen múltiples objetos es la relación de muchos a uno. "Tiene un" es una relación que se describe en la agregación.

¿Qué es la composición?

La forma restrictiva de asociación es una composición en la que existe una relación padre-hijo en la que el niño no puede existir independientemente sin un padre. En UML está representado por un pequeño diamante sólido. En composición, la parte constituyente se puede vincular a la mayoría en el ensamblaje. Una clase se convierte en contenedor y otra clase se convierte en contenido que está en ese contenedor. Eso tiene una parte de herencia muy fácil, y el método de una clase se puede usar sin siquiera escribir todo el código nuevamente. Hay una relación "parte de" en la composición.

Diferencias clave

  1. En la agregación hay una relación padre-hijo en la que el niño puede existir independientemente, mientras que Composición es una relación padre-hijo en la que un niño no puede existir independientemente sin un padre.
  2. Hay una asociación débil en la agregación, mientras que hay una asociación fuerte en la composición, mientras que hay una asociación fuerte en la composición.
  3. En UML, la agregación se puede definir usando un segmento de línea, mientras que en UML la composición se puede definir usando un diamante.
  4. La eliminación del ensamblaje no tiene ningún efecto en la agregación, mientras que la eliminación de la composición puede afectar la composición.

Conclusión

En este artículo anterior vemos la clara diferencia entre agregación y composición con ejemplos.

Video explicativo