Relaciones Entre Clases

19
1_2_2 Relaciones 1_2_2 Relaciones entre clases entre clases Apoyo SSD3 Apoyo SSD3

description

Relaciones entre clases de Visual C#

Transcript of Relaciones Entre Clases

1_2_2 Relaciones entre 1_2_2 Relaciones entre clasesclases

Apoyo SSD3Apoyo SSD3

Mtl Lourdes CahuichMtl Lourdes Cahuich 22

AsociacionesAsociaciones

Una Una asociaciónasociación representa la relación  representa la relación entre dos o más clases.entre dos o más clases.

Una Una asociación binariaasociación binaria es una relación  es una relación entre dos clases.entre dos clases.

Existe una asociación binaria si un objeto Existe una asociación binaria si un objeto de una clase requiere un objeto de otra de una clase requiere un objeto de otra clase para hacer su trabajo. clase para hacer su trabajo.

Mtl Lourdes CahuichMtl Lourdes Cahuich 33

AsociacionesAsociaciones

En UML, una asociación binaria está En UML, una asociación binaria está representada por una línea sólida que representada por una línea sólida que conecta dos clases.conecta dos clases.

Mtl Lourdes CahuichMtl Lourdes Cahuich 44

Asociaciones de Una Vía (One-Asociaciones de Una Vía (One-Way) y Dos Vías (Two-Way)Way) y Dos Vías (Two-Way)

Una Una asociación de una vía asociación de una vía indica la indica la dirección en la que se puede navegar de dirección en la que se puede navegar de un objeto de una clase a un objeto de otra un objeto de una clase a un objeto de otra clase. clase.

Una Una asociación de dos víasasociación de dos vías indica una  indica una navegación bidireccional entre objetos de navegación bidireccional entre objetos de dos clases. dos clases.

Mtl Lourdes CahuichMtl Lourdes Cahuich 55

Asociación una víaAsociación una vía

UML indica una asociación de una vía con UML indica una asociación de una vía con una flecha al final de la línea de una flecha al final de la línea de asociación.asociación. El atributo de la primera clase que contiene El atributo de la primera clase que contiene

una referencia a un objeto de la segunda una referencia a un objeto de la segunda clase también está escrito al final de la línea.clase también está escrito al final de la línea.

Mtl Lourdes CahuichMtl Lourdes Cahuich 66

El ejemplo muestra la relación entre las El ejemplo muestra la relación entre las clases Country (país), Government clases Country (país), Government (gobierno) y Capital.(gobierno) y Capital.

Cada país tiene un gobierno y una capital. Cada país tiene un gobierno y una capital.

Mtl Lourdes CahuichMtl Lourdes Cahuich 77

Una clase puede contener una o más Una clase puede contener una o más asociaciones con otra clase. asociaciones con otra clase.

Por ejemplo, el siguiente diagrama de Por ejemplo, el siguiente diagrama de clase muestra dos asociaciones entre las clase muestra dos asociaciones entre las clases Flight (clases Flight (vuelovuelo) y Pilot () y Pilot (pilotopiloto), una ), una asociación con el atributo pilot(asociación con el atributo pilot(pilotopiloto) y ) y otra con el atributo coPilot (otra con el atributo coPilot (copilotocopiloto):):

Mtl Lourdes CahuichMtl Lourdes Cahuich 88

MultiplicidadMultiplicidad

LaLa multiplicidad multiplicidad indica el número de instancias  indica el número de instancias de una clase que pueden ser asociadas a una de una clase que pueden ser asociadas a una sola instancia de otra clase.sola instancia de otra clase.

La multiplicidad puede especificarse con un solo La multiplicidad puede especificarse con un solo entero o como un rango entero o como un rango n..mn..m, donde , donde nn es el  es el límite inferior y límite inferior y m m es el límite superior. Podemos es el límite superior. Podemos utilizar un asterisco ( * ) para denotar que no utilizar un asterisco ( * ) para denotar que no existe un límite superior existe un límite superior

Mtl Lourdes CahuichMtl Lourdes Cahuich 99

Las asociaciones pueden clasificarse de acuerdo a sumultiplicidad.En este curso, discutiremos tres tipos: uno a uno, uno a muchos y muchos a muchos.

Mtl Lourdes CahuichMtl Lourdes Cahuich 1010

Asociación uno a muchosAsociación uno a muchos

En una En una asociación uno a muchos asociación uno a muchos entre las entre las clases A y B, una instancia de la clases A y B, una instancia de la clase A puede estar relacionada con clase A puede estar relacionada con muchas instancias de la clase B, pero una muchas instancias de la clase B, pero una instancia de la clase B está relacionada instancia de la clase B está relacionada solamente con una instancia de la clase A. solamente con una instancia de la clase A.

Mtl Lourdes CahuichMtl Lourdes Cahuich 1111

En este diagrama, un año (Year) contiene doce En este diagrama, un año (Year) contiene doce meses (Month) y cada mes está asociado con meses (Month) y cada mes está asociado con solo un año. solo un año.

De la misma forma, un mes contiene cuatro o De la misma forma, un mes contiene cuatro o cinco semanas (Week) y cada semana está cinco semanas (Week) y cada semana está asociada con solo un mes. asociada con solo un mes.

Finalmente, una semana contiene siete días Finalmente, una semana contiene siete días (Day) y cada día está asociado con una sola (Day) y cada día está asociado con una sola semanasemana

Mtl Lourdes CahuichMtl Lourdes Cahuich 1212

Asociación muchos a muchosAsociación muchos a muchos

En una En una asociación muchos a asociación muchos a muchosmuchos entre las clases A y B, una  entre las clases A y B, una instancia de la clase A puede estar instancia de la clase A puede estar relacionada con muchas instancias de la relacionada con muchas instancias de la clase B y una instancia de la clase B y una instancia de la clase B puede estar relacionada con clase B puede estar relacionada con muchas instancias de la clase A. muchas instancias de la clase A.

Mtl Lourdes CahuichMtl Lourdes Cahuich 1313

Mtl Lourdes CahuichMtl Lourdes Cahuich 1414

AgregaciónAgregación

LaLa agregación  agregación es una forma especial de es una forma especial de asociación.asociación.

Una agregación es una asociación entre Una agregación es una asociación entre las clases A y B, donde cada instancia de las clases A y B, donde cada instancia de la clase A contiene, o está compuesta por, la clase A contiene, o está compuesta por, instancias de la clase B instancias de la clase B

Mtl Lourdes CahuichMtl Lourdes Cahuich 1515

En este sentido, una instancia de la En este sentido, una instancia de la clase B es parte de una instancia de la clase B es parte de una instancia de la clase A. clase A.

A la instancia de la clase A se le conoce A la instancia de la clase A se le conoce como como agregada (aggregate)agregada (aggregate) y a la  y a la instancia de la clase B se le conoce instancia de la clase B se le conoce como como componente (component)componente (component). .

Mtl Lourdes CahuichMtl Lourdes Cahuich 1616

Mtl Lourdes CahuichMtl Lourdes Cahuich 1717

Especialización/GeneralizaciónEspecialización/Generalización LaLa Especialización/ Especialización/

GeneralizaciónGeneralización representa a la relación  representa a la relación es es unun. Por ejemplo, una ballena . Por ejemplo, una ballena es es unun mamífero y un cliente  mamífero y un cliente es unaes una persona.  persona.

La especialización/generalización permite La especialización/generalización permite que la clase A sea definida como que la clase A sea definida como especialización de otra clase B, más especialización de otra clase B, más general. general.

Mtl Lourdes CahuichMtl Lourdes Cahuich 1818

Especialización/GeneralizaciónEspecialización/Generalización

Una consecuencia importante de esta Una consecuencia importante de esta relación es que la clase A relación es que la clase A hereda hereda todas todas las características de la clase B.las características de la clase B.

Esto significa que todos los atributos y Esto significa que todos los atributos y métodos de la clase B son también métodos de la clase B son también atributos y métodos de la clase A. atributos y métodos de la clase A.

Mtl Lourdes CahuichMtl Lourdes Cahuich 1919