La agregación implica propiedad, no solo asociación
La agregación en Java es una relación entre dos clases que se describe mejor como una relación "has-a" y "todo / parte". Es una versión más especializada de la relación de asociación . la clase agregada contiene una referencia a otra clase y se dice que es propietaria de esa clase. cada clase referenciada se considera parte de la clase agregada.
la propiedad ocurre porque no puede haber referencias cíclicas en una relación de agregación. si la clase a contiene una referencia a la clase b y la clase b contiene una referencia a la clase a, entonces no se puede determinar una propiedad clara y la relación es simplemente de asociación.
por ejemplo, si imagina que una clase de estudiantes almacena información sobre estudiantes individuales en una escuela. ahora asuma una clase de materia que contiene los detalles sobre una materia en particular (por ejemplo, historia, geografía). Si la clase de estudiante está definida para contener un objeto sujeto, se puede decir que el objeto estudiante tiene un objeto sujeto. el objeto sujeto también forma parte del objeto estudiante; después de todo, no hay estudiante sin un sujeto para estudiar. el objeto estudiante, por lo tanto, posee el objeto sujeto.
ejemplos
defina una relación de agregación entre la clase del alumno y la clase de la asignatura de la siguiente manera:
sujeto de clase pública {
nombre de cadena privada;
setname público vacío (nombre de cadena) {
this.name = nombre;
}
public string getname ()
{
return name;
}
}
estudiante de clase pública {
materia privada [] studyareas = nueva materia [10];
// el resto de la clase de estudiantes
}