• No se han encontrado resultados

PROGRAMACIÓN ORIENTADA A OBJETOS

N/A
N/A
Protected

Academic year: 2021

Share "PROGRAMACIÓN ORIENTADA A OBJETOS"

Copied!
23
0
0

Texto completo

(1)

PROGRAMACIÓN ORIENTADA A OBJETOS

[email protected]

Relaciones entre clases

(2)

Agenda

1 • Objetivos

2 • Relaciones entre clases

3 • Asociación

4 • Agregación

5 • Composición

6 • Dependencia

7 • Generalización

(3)

3

Objetivos

Al finalizar la sesión, usted estará en capacidad de:

Comprender cómo los objetos colaboran e intercambian información en una aplicación

Conocer los diferentes tipos de relaciones entre clases: asociación, agregación, composición, dependencia y generalización.

(4)

Relaciones entre clases

Un conjunto de objetos aislados tiene escasa capacidad para resolver un problema.

En una aplicación los objetos colaboran e intercambian información, mantienen distintos tipos de relaciones entre ellos

(5)

5

Relaciones entre clases

A nivel de diseño, podemos distinguir entre 5 tipos de relaciones básicas entre clases de objetos:

Dependencia

Asociación

Agregación

Composición

Generalización (herencia)

(6)

Asociación

Es la relación más importante y común.

Es una relación estructural que especifica que los objetos de una clase están conectados con los objetos de otra.

Representa una relación entre dos clases independientes que se mantiene durante la vida de los objetos de dichas clases.

En UML se indica:

el nombre de la relación

el sentido de dicha relación

y las multiplicidades en los dos extremos.

(7)

7

Navegabilidad de una asociación

Indica la dirección en que se puede navegar de un objeto de una clase a un objeto de otra clase.

Unidireccional (unilateral):

en un único sentido

(8)

Navegabilidad de una asociación

Bidireccional (bilateral):

en ambos sentidos

(9)

9

Asociación

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

Ejemplo:

Se muestra dos asociaciones entre las clases Vuelo y Piloto. Una asociación con el atributo piloto y otra con el atributo co-piloto.

(10)

Multiplicidad de una asociación

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

Indica el grado con el que una clase se asocia a otra.

Se representa gráficamente en los extremos de la relación.

(11)

11

Tipos de Multiplicidad

Tipo Descripción

(1..1) Uno a uno (exactamente una instancia) (1..*) Uno a muchos (una o más instancias)

(*) Muchos a muchos (múltiples instancias) (0..1) Opcional (Cero o una instancia)

(0..*) Opcional múltiple (Cero o más instancias) (n) Número fijo (n instancias)

(12)

Asociación Uno a Muchos (1..*)

Una instancia de la clase A puede estar relacionada con muchas instancias de la clase B, pero una instancia de la clase B está relacionada solamente con una instancia de la clase A.

(13)

13

Asociación Muchos a Muchos (*)

Una instancia de la clase A puede estar relacionada con muchas instancias de la clase B, y una instancia de la clase B puede estar relacionada con muchas instancias de la clase A.

(14)

Asociación

En Java se refleja con referencias a objetos de la clase destino de la relación como atributos de la clase origen.

Si la relación tiene una cardinalidad superior a uno entonces se debe utilizar un array o una estructura de datos dinámica.

La conexión entre los objetos se realiza recibiendo la referencia de uno de ellos en el constructor u otra operación similar del otro.

(15)

15

Agregación

Modela una relación “ todo/parte”, en la que una clase representa una parte grande (el "todo"), que consta de elementos más pequeños (las

“partes”).

Es un tipo especial de asociación en que la clase de donde parte la relación representa el “todo” y las clases relacionadas “las partes”.

(16)

Agregación

La clase "todo" contiene un atributo, que será una colección, es decir un array, vector, etc, y contiene un método que agrega los elementos a la colección.

(17)

17

Agregación

(18)

Composición

Es un tipo de agregación que añade el matiz de que la clase “todo”

controla la existencia de las clases “parte”.

La clase “todo” creará al principio las clases “parte” y al final se encargará de su destrucción.

El ciclo de vida del objeto “parte” está relacionado con el del objeto

“todo”.

(19)

19

Dependencia

Es una relación de uso, es decir que una clase utiliza a otra. Y si ésta última se altera, la anterior se puede ver afectada.

Refleja que entre dos clases de objetos existe una posible colaboración temporal con algún propósito.

Puede indicar la utilización de un objeto de una clase como argumento de una operación de otra o en su implementación.

(20)

Generalización

Es una relación de herencia.

Se puede decir que es un relación “es un tipo de”.

(21)

21

Resumen

En esta sesión, ha aprendido lo sgte :

Reconocer los diferentes tipos de relaciones que se dan entre clases Cuando utilizar cada uno de los tipos de relaciones

(22)

Espacio para preguntas

(23)

¡Muchas gracias!

[email protected]

Referencias

Documento similar

(1886-1887) encajarían bien en una antología de textos históricos. Sólo que para él la literatura es la que debe influir en la historia y no a la inversa, pues la verdad litera- ria

En primer lugar, el Curso de Cine y Derecho penal que coordiné del año 2003 al 2007 en la Universidad de Vigo, con los objetivos de (1) captar la atención de los

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

la Empresa Prácticas Integradas I Prácticas Integradas I Régimen Fiscal de la Empresa 17-18 Derecho del Trabajo Derecho del Trabajo Gestión Estratégica de los.

El interés por el tema elegido para esta investigación se dio con el fin de hacer un aporte a la didáctica del Francés Lengua Extranjera (FLE) y generar una nueva propuesta

Se llega así a una doctrina de la autonomía en el ejercicio de los derechos que es, en mi opinión, cuanto menos paradójica: el paternalismo sería siempre una discriminación cuando

Pero como "el fin egoísta en su rela- ción y condicionado por la generalidad constituye un sistema de correspondencia total, puesto que la sub- sistencia y el bienestar

Cancioneiro de Madrid. 1 Nunca espeiei de amor contentamiento. 5v) 2 Es en todo tan corta esta jornada. 6v) 3 Aquel camino larguo de mis daños. 8v) 5 El tiempo en toda cosa