La Programación Orientada a Objetos (POO) es un paradigma de programación basado en el concepto de objetos, que pueden contener datos y código que manipula esos datos. Dentro de la POO, dos conceptos importantes son la agregación y la composición, ambos relacionados con la forma en que los objetos se asocian entre sí.
La agregación y la composición son dos tipos de asociaciones que definen relaciones entre objetos. La principal diferencia radica en el grado de dependencia entre los objetos asociados. En la agregación, los objetos pueden existir independientemente, mientras que en la composición, la vida de los objetos dependientes está fuertemente ligada al objeto contenedor.
Ejemplo de Agregación:
class Motor {
}
class Coche {
private Motor motor;
public Coche(Motor motor) {
this.motor = motor;
}
}
Ejemplo de Composición:
class Motor {
}
class Coche {
private Motor motor;
public Coche() {
this.motor = new Motor();
}
}
Jorge García
Fullstack developer