Diferencia entre agregación y composición

Tabla de contenido:

Diferencia entre agregación y composición
Diferencia entre agregación y composición

Video: Diferencia entre agregación y composición

Video: Diferencia entre agregación y composición
Video: ED UD2.11 Diferencias entre COMPOSICIÓN y AGREGACIÓN 2024, Noviembre
Anonim

Diferencia clave: agregación frente a composición

La Programación Orientada a Objetos (POO) es un paradigma común en el desarrollo de software. El objeto es una instancia de una clase. No es posible crear objetos a la vez. Debe haber un plano o una descripción para crear un objeto. Ese modelo se conoce como una clase. Una clase contiene propiedades y métodos. Los objetos se crean usando clases. La clase y el objeto son similares a un plano y una casa en el mundo real. No es posible construir una casa sin un plan adecuado. Asimismo, una clase se utiliza para crear un objeto. Un objeto colabora con otros objetos. Un vínculo que representa la relación de dos o más objetos se denomina "asociación". La agregación y la composición son tipos de asociaciones. Describen la relación entre clases. Este artículo analiza la diferencia entre agregación y composición. La diferencia clave entre agregación y composición es que la agregación es una asociación entre dos objetos que describe la relación "tiene un" y la composición es un tipo más específico de agregación que implica propiedad.

¿Qué es la agregación?

La relación entre dos objetos se muestra dibujando una línea en el lenguaje de modelado unificado (UML). El enlace es una asociación. UML ayuda a obtener una representación visual del sistema. Es diferente a los lenguajes de programación regulares. La asociación también define la multiplicidad de objetos. Son uno a uno, uno a muchos y muchos a muchos. Cuando un único objeto de la clase A se asocia con el único objeto de la clase B, se trata de una relación de uno a uno. Un ejemplo es un autor que escribe un libro. En ese ejemplo, un autor está escribiendo un libro.

Cuando un objeto de clase A está asociado con muchos objetos de clase B, es una relación de uno a muchos. Un ejemplo es que un departamento puede tener muchos empleados. Cuando el objeto de la clase A está asociado con muchos objetos de la clase B y un objeto de la clase B está asociado con muchos objetos de la clase A, es una asociación de muchos a muchos. Un ejemplo es que un empleado puede trabajar en varios proyectos y un proyecto puede tener varios empleados.

La agregación es una asociación de tipos que describe con más detalle la relación entre objetos. La agregación describe la relación "tiene una". Algunos ejemplos que describen la relación son, un estudiante “tiene una” identificación de estudiante, un vehículo “tiene un” motor. También es posible ampliar una gran cantidad con la relación. Algunos ejemplos son, un banco “tiene muchas” cuentas bancarias, una clase “tiene muchos” estudiantes. Se puede explicar usando el siguiente ejemplo.

Diferencia entre agregación y composición
Diferencia entre agregación y composición

Figura 01: Agregación

Según el ejemplo anterior, el salón de clases consta de un estudiante o varios estudiantes. La multiplicidad también se usa para indicar el número de objetos. Describe que un salón de clases tiene varios estudiantes. El símbolo del rombo representa la agregación en UML. Los objetos de estudiante no dependen del objeto de clase. Si el objeto de la clase se destruye, no afectará a los objetos de los estudiantes. Esos objetos seguirán existiendo.

¿Qué es la composición?

La composición es una forma más específica de agregación. Describe la propiedad. Se puede explicar usando el siguiente ejemplo.

Diferencia clave entre agregación y composición
Diferencia clave entre agregación y composición

Figura 02: Composición

De acuerdo con lo anterior, el objeto libro consiste en un objeto o páginas de página. La multiplicidad también se usa para indicar el número de objetos. Describe que un salón de clases tiene varios estudiantes. El símbolo de diamante que está res altado representa la composición en UML. Como el libro tiene una página o muchas páginas, es una agregación, pero está más especificado. Si el objeto del libro se destruye, los objetos de la página también se destruyen. Los objetos de página no pueden existir sin el objeto de libro. Por lo tanto, la composición es una forma más específica de agregación que implica propiedad.

¿Cuáles son las similitudes entre la agregación y la composición?

  • Ambos se utilizan en la Programación Orientada a Objetos.
  • Ambos se utilizan en el lenguaje de modelado unificado (UML) para obtener una comprensión visual del sistema.

¿Cuál es la diferencia entre agregación y composición?

Agregación vs Composición

La agregación es una asociación entre dos objetos que describe la relación "tiene un". La composición es el tipo de agregación más específico que implica propiedad.
Símbolo UML
La agregación se indica con un rombo. La composición se indica con un diamante res altado.
Funcionalidad
En conjunto, si el objeto propietario se destruye, no afectará al objeto que lo contiene. En la composición, si el objeto propietario se destruye, afectará al objeto contenedor.

Resumen: agregación frente a composición

La programación orientada a objetos es un paradigma importante en el desarrollo de software. En OOP, el sistema se modela utilizando objetos. Estos objetos no existen de forma aislada. Los objetos colaboran con otros objetos. La relación entre objetos se conoce como asociación. La agregación y la composición son tipos de asociación. La diferencia entre agregación y composición es que la agregación es una asociación entre dos objetos que describe la relación "tiene un" y la composición es el tipo más específico de agregación que implica propiedad. Tanto la agregación como la composición ayudan a comprender el comportamiento del sistema.

Descargue la versión en PDF de Agregación frente a Composición

Puede descargar la versión en PDF de este artículo y utilizarlo sin conexión según la nota de la cita. Descargue la versión en PDF aquí Diferencia entre agregación y composición

Recomendado: