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