Diferencia entre agregación y composición en Java

Tabla de contenido:

Diferencia entre agregación y composición en Java
Diferencia entre agregación y composición en Java

Video: Diferencia entre agregación y composición en Java

Video: Diferencia entre agregación y composición en Java
Video: Programación en Java: Relación entre clases en Java (asociación, agregación y composición) 2024, Mes de julio
Anonim

Diferencia clave: agregación frente a composición en Java

La agregación es una asociación entre dos objetos que describe la relación "tiene-un". La composición es el tipo más específico de agregación que implica propiedad. La diferencia clave entre agregación y composición en Java es que, si el objeto contenido puede existir sin la existencia del objeto propietario, es una agregación, y si el objeto contenido no puede existir sin la existencia del objeto propietario, es una composición..

La Programación Orientada a Objetos (POO) es un paradigma importante en el desarrollo de software. Se utiliza para modelar el software utilizando objetos. Los objetos se crean usando clases. Una clase consta de propiedades y métodos. Hay varios objetos en el software. Cada objeto colabora entre sí a través del paso de mensajes. La relación entre dos objetos se conoce como asociación. Tanto la agregación como la composición son dos tipos de asociación. La relación "tiene un" describe que un objeto puede usar otro objeto. La agregación y la composición se pueden implementar en lenguajes compatibles con programación orientada a objetos. Si el objeto contenido puede existir sin la existencia del objeto propietario, entonces la asociación entre esos dos objetos es una agregación. Si el objeto contenido no puede existir sin la existencia del objeto propietario, entonces la asociación entre esos dos objetos es una composición.

¿Qué es la agregación en Java?

La agregación es un tipo de asociación. Si una clase tiene una referencia de entidad, se conoce como agregación. La agregación representa la relación tiene-un. Un objeto Estudiante puede tener propiedades como id_estudiante, nombre, dirección. Este objeto también puede tener otro objeto llamado dirección con su propia información como ciudad, estado, país. En esta situación, el Estudiante tiene una dirección de referencia de la entidad. Es una relación "tiene un".

Diferencia entre agregación y composición en Java
Diferencia entre agregación y composición en Java

Figura 01: Marcas Clase

Diferencia entre agregación y composición en Java
Diferencia entre agregación y composición en Java

Figura 02: Programa principal para describir Agregación

Según el programa anterior, las Marcas de clase constan de tres propiedades que son las marcas de Matemáticas, Inglés y Ciencias. El Estudiante tiene un objeto de Marcas. Tiene sus propias propiedades que son marcas de matemáticas, inglés y ciencias. En el método principal, se crea un objeto de Marcas y se asignan valores de marcas. El objeto de estudiante que es s1 puede usar el objeto de marcas que es m1. Por lo tanto, el Estudiante y las Marcas tienen la relación "tiene-un". El objeto Marcas puede existir sin el Objeto Estudiante. Por lo tanto, es una agregación.

¿Qué es la composición en Java?

La composición es un tipo de asociación. Es una forma específica de agregación que implica propiedad. Suponga que hay dos clases llamadas clase A y B. Si el objeto de la clase B no puede existir si el objeto de la clase A se destruye, entonces eso es una composición. Un libro consta de muchas páginas. Si el libro se destruye, las páginas también se destruirán. Los objetos de página no pueden existir sin el objeto de libro. Consulte el siguiente programa.

Diferencia entre agregación y composición en Java_Figura 03
Diferencia entre agregación y composición en Java_Figura 03

Figura 03: Clase de aula

Diferencia entre agregación y composición en Java_Figura 04
Diferencia entre agregación y composición en Java_Figura 04

Figura 04: Clase de la escuela

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

Figura 05: Programa principal para describir la composición

Según el programa anterior, el Aula tiene dos propiedades que son nombre y número de estudiantes. La escuela es una colección de objetos de Classroom. En el método principal, se crean dos objetos Classroom. Esos se agregan a 'aulas'. Estas 'aulas' se pasan al objeto escuela. Finalmente, el nombre del aula y el número de estudiantes se imprimen iterando a través de la colección. Si se destruye el objeto Escuela, los objetos del Aula también se destruirán. Este es un ejemplo de composición. También contiene la relación 'has-a' y también implica propiedad.

¿Cuál es la relación entre agregación y composición en Java?

La agregación y la composición son dos tipos de asociación y la composición es un tipo especializado de agregación. La composición es un subconjunto de la agregación

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

Agregación vs Composición en Java

La agregación es una asociación entre dos objetos que describe la relación "tiene un". La composición es un tipo más específico de agregación que implica propiedad.
Uso
La agregación se usa cuando un objeto usa otro objeto. La composición se usa cuando un objeto es propietario de otro objeto.
Afectar a los objetos
En conjunto, la destrucción del objeto propietario no afectará al objeto contenedor. En composición, destruir el objeto propietario afectará al objeto que lo contiene.

Resumen: agregación frente a composición en Java

Agregación y Composición son dos conceptos en programación orientada a objetos. La relación "tiene-a" describe que un objeto puede usar otro objeto. La agregación es una asociación entre dos objetos que describe la relación "tiene-un". La composición es un tipo más específico de agregación que implica propiedad. La diferencia entre agregación y composición en Java es que, si el objeto contenido puede existir sin la existencia del objeto propietario, es una agregación y si el objeto contenido no puede existir sin la existencia del objeto propietario, es una composición.

Recomendado: