- La composición y la asociación son descriptores de la relación entre dos objetos.
- Una relación se crea cuando un objeto hace referencia a otro, a veces a través de una variable de instancia.
- La asociación directa es la relación “has-a” (tiene un)
- La asociación directa es una relación débil.
- La asociación directa no es responsable del ciclo de vida, es decir, que si se destruye un objeto, el otro no se destruirá.
- La asociación directa suele ser la relación por defecto si no existe otra que pueda encajar.
- En
UML se representa así:
- La asociación composición es una relación “composed-of” (compuesto de)
- La asociación composición es una relación fuerte.
- La asociación composición es responsable del ciclo de vida.
- La asociación composición representa la posesión y la propiedad (ownership).
- En
UML se representa así:
- La asociación agregación es la relación “part-of” (parte de)
- Es una relación débil.
- No es responsable del ciclo de vida.
- En
UML se representa así:
- La asociación temporal también se conoce como una dependencia.
- Es una relación débil.
- No es responsable del ciclo de vida.
- Esta asociación se crea cuando se utiliza un valor de retorno, un parámetro de un método o una variable local.
- En
UML se representa así:
- La relación uno a uno es posible en la composición y en la asociación.
- Tiene un objeto que hace referencia a otro objeto.
- Ejemplo
Asociación directa uno a uno:
public class Truck {
Trailer trailer;
void setTrailer(Trailer t){
trailer = t;
}
// Remainder of Truck class would be here
}
El trailer no está instanciado dentro del Truck, eso indica que es asociación - Ejemplo
Composición uno a uno:
public class Tire {
TireAirPressure tireAirPressure;
Tire(){
tireAirPressure = new TireAirPressure();
}
}
El TireAirPressure sí está instanciado dentro de Tire, lo que indica que es composición.
- La relación uno a muchos también es posible en la composición y en la asociación.
- Consiste en un objeto que hace referencia a un array o colección de objetos similares.
- Ejemplo
Asociación directa uno a muchos:
public class Car {
Wheel[] wheel = new Wheel[4];
void setWheels(Wheel w) {
wheel[0] = w;
wheel[1] = w;
wheel[2] = w;
wheel[3] = w;
}
// Remainder of Car class would be here
} - Ejemplo
Composición uno a muchos:
public class CarComputer {
SensorStatus[] sensorStatus = new SensorStatus[5];
public CarComputer() {
sensorStatus[0] = new SensorStatus(1);
sensorStatus[1] = new SensorStatus(1);
sensorStatus[2] = new SensorStatus(1);
sensorStatus[3] = new SensorStatus(1);
sensorStatus[4] = new SensorStatus(1);
}
} - La relación muchos a muchos solo es posible en la asociación.
- Consiste en que varios objetos similares contienen una referencia al mismo array o colección de objetos.
- En el ejemplo de una asociación directa muchos a muchos, cada objeto de un array o colección contiene una referencia a otro array o colección del otro objeto.
- La navegación es un término que se usa para describir la habilidad de acceder a un objeto que está contenido en otro objeto. Muestra la dirección donde es navegable. Puede ser bidireccional o unidireccional.
- Ejemplo
de asociación navegación:
public class PinStripe {
Color color = new Color(Color.blue);
Color getColor(){
return color;
}
} - Los métodos getter a menudo se usan para navegar en los objetos.
martes, 28 de febrero de 2012
Capítulo 6: Uso de las clases y sus relaciones.
Suscribirse a:
Enviar comentarios (Atom)
el ejemplo de una asociación directa muchos a muchos, cada objeto de un array o colección contiene una referencia a otro array o colección del otro objeto.
ResponderEliminarLa navegación es un término que se usa par coaching-mastery.com/5-consejos-para-comprar-repuestos-para-su-coche/