martes, 28 de febrero de 2012

Capítulo 6: Uso de las clases y sus relaciones.


  • 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.

1 comentario:

  1. 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 par coaching-mastery.com/5-consejos-para-comprar-repuestos-para-su-coche/

    ResponderEliminar