Relaciones Entre Objetos Programacion I

Páginas: 7 (1509 palabras) Publicado: 29 de junio de 2015
PROGRAMACION II

RELACIONES ENTRE CLASES:
ASOCIACION, AGREGACION, COMPOSICION, GENERALIZACION Y ESPECIALIZACION


Todos los sistemas se construyen a partir de muchas clases y objetos cuya colaboración permite lograr el comportamiento deseado en el sistema. La colaboración entre objetos imponen la existencia de relaciones (relationship) entre ellos: principalmente asociaciones (associations) yagregaciones (aggregations).

Una asociación es una relación entre instancias de clases. No se trata de un flujo de datos entre las clases, sino que se trata de una relación estructural que existe entre los objetos instancias de dichas clases, especificando que los objetos de una clase deben “conocer'' de alguna manera los objetos de la otra. Por ejemplo:
Un objeto de la clase A envía un mensajea un objeto de la clase B.
Un objeto de la clase A crea un objeto de la clase B.
Public class A{
B b=new B();
}
Un objeto de la clase A recibe un mensaje con un objeto de la clase B como argumento.
Public class A{
Public void método(B objetoB)

}
}
Es habitual nombrar las asociaciones generalmente con verbo activo o una frase verbal que recoge el significado de la asociación. También se puedeoptar por utilizar roles que nombran las clases que intervienen en la asociación con un (role name) que denote el propósito o la característica por la que una clase se asocia con otra. Un rol es simplemente la cara que la clase de un extremo de la asociación presenta a la clase del otro extremo. Además una asociación puede incluir la multiplicidad asociada a cada una de las clases queintervienen, determinando el número de objetos que participan en la relación.




La asociación se representa como una línea continua. Entre las dos clases participantes.

NAVEGACIÓN DE LAS ASOCIACIONES

Al margen de su nombre en una asociación puede tener una navegación (navigability) asociada. Si sólo existe la navegación en un sentido hablamos de asociación unidireccional, si se permite la navegación enambos sentidos de la asociación hablamos de asociación bidireccional.
Desde una perspectiva conceptual, las asociaciones representan relaciones conceptuales entre clases; desde el punto de vista de la especificación, las asociaciones representan responsabilidades; y desde una perspectiva de implementación una asociación se traduce en punteros entre las clases relacionadas.

AsociaciónDireccional


Asociación Bidireccional
MULTIPLICIDAD DE LAS ASOCIACIONES
La multiplicad de una asociación determina cuantos objetos de cada tipo intervienen en la relación. El numero de instancias de una clase que se relacionan con UNA instancia de la otra clase.
Cada Asociación tiene dos multiplicidades (Uno para cada extremo).
Para especificar la multiplicidad de una asociación hay que indicar lamultiplicidad mínima y máxima (Mínima..Máxima).

Cuando la multiplicad mínima es 0, se dice que la relación es opcional.
La multiplicidad mínima mayor o igual a 1 establece una relación obligatoria.


Un Departamento tiene un director.
Un profesor puede Dirigir cero o un Departamento


Un Departamento posee cero o más profesores.
Un profesor pertenece a un Departamento.

Relación Opcional: Un Clientepuede o no ser titular de una cuenta
Relación Obligatoria: Una cuenta ha de tener un titular como mínimo.

Cuando la multiplicidad de una relación es de máximo 1, esta se traduce con la instanciación de un objeto de la clase del lado 1 en el otro extremo de la relación.

public class Cuenta{
Prívate Cliente Titular;

}

Cuando la multiplicidad máxima de una relación es mayor a 1, esta setraduce con la creación de una colección de objetos(Vector, Arraylist, etc) de la clase del lado muchos en el otro extremo de la relación.

public class Cliente {
Prívate Cuenta cuentas[];

}


Relaciones involutivas.

Una relación involutiva es la relación de asociación que existe entre una clase y ella misma. Es decir en los dos extremos de la relación aparece la misma clase.




RELACIONES...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • EJERCICIOS DE APLICACION I "programación dirigida a objeto"
  • Programacion por Objetivos
  • Objetos De La Programacion
  • Programacion objetos
  • Que es un Objeto? Programacion Orientada a Objetos
  • ¿Qué Es Un Objeto De Programacion?
  • Programación por objetivos
  • Programacion Objeto

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS