16
Relaciones entre Clases Rosemary Torrico Bascopé

Relaciones entre Clases

Embed Size (px)

DESCRIPTION

Relaciones entre Clases. Rosemary Torrico Bascopé. Introducción. Dado un problema , primero se identifican los objetos y por tanto las clases que lo definen . Luego se debe reflexionar sobre si existe alguna relación entre dichas clases . - PowerPoint PPT Presentation

Citation preview

Page 1: Relaciones  entre  Clases

Relaciones entre Clases

Rosemary Torrico Bascopé

Page 2: Relaciones  entre  Clases

Introducción

• Dado un problema, primero se identifican los objetos y por tanto las clases que lo definen.

• Luego se debe reflexionar sobre si existe alguna relación entre dichas clases.

• Las relaciones entre clases son muy importantes y deben identificarse con claridad cuando se realizando un desarrollo orientado a objetos.

Page 3: Relaciones  entre  Clases

Introducción

• Las relaciones entre clases pueden deberse a un estado o comportameinto común, tambien a que la clase necesite usar otra clase.

• Aunque algunas clases pueden existir de forma aislada, la mayoria no pueden y deben cooperar unas con otras.

Page 4: Relaciones  entre  Clases

Tipos de clases

• Segun Booch y Rumbaugh existen 3 tipos de clases:– Generalizaciones, “es un”– Asociaciones, “tiene un” o “es parte de”– Dependencias, “usa a” o “trabaja con”

Page 5: Relaciones  entre  Clases

Relación de Generalización

• La relación “es un”, se da entre un elemento general y un caso específicio de ese elemento.

• La relacion de generalizacion se presenta cuando una clase es un subtipo de otra clase.

• Ejemplo: Un empleado es una persona.Persona

Empleado

Page 6: Relaciones  entre  Clases

Relación de generalización…• Se conoce tambien como relación de Herencia.– La subclase (clase hija) hereda los atributos y

métodos de la clase padre, pudiendo añadir los suyos propios.

Las relaciones de herencia den UML se representan por flecha con la punta vacía, apuntando a la clase padre

Persona

Empleado Estudiante

Fijo Por comisión

La relación de herencia genera jerarquía entre las clases

Page 7: Relaciones  entre  Clases

Relación de Asociación• Se da entre dos clases de distinta naturaleza, puede

existir relaciones de Asociación entre la misma clase.• Cuando una clase esta compuesta estructuralmente

por otras clases se dice que hay una relacion de asociacion.– Cuando se usa algun objeto como atributo de la clase. Es

decir una clase puede estar formada por objetos de otra u otras clases.

– Es posible indicar cuántos objetos (ejemplares de una clase) están conectados en una relación de asociación, esto define la multiplicidad en la relación.

Page 8: Relaciones  entre  Clases

Cardinalidad o multiplicidad• Define cuántas instancias de la clase A pueden estar asociadas

con una instancia de la clase B.1. Si es un valor exacto se indica numericamente. Ej. Una empresa

tiene 2 empleados.

2. Si es un intervalo de posibles valores, se indica el valor mínimo y un valor máximo.Ej. Si los empleados pudieran ser entre 2 y 4.

3. Si son varios en número indefinido se usa un asterísco.

EmpleadoEmpresa 1 2

EmpleadoEmpresa 1 2..4

EmpleadoEmpresa 1 *

Page 9: Relaciones  entre  Clases

Asociacion - Agregación

• A veces, se quiere indicar que tenemos un todo compuesto por partes. En este caso de habla de agregación.– En el diagrama de clases se usa un rombo vacío,

junto a la clase que representa al todo. Ej. Una empresa compuesta por departamentos.

DepartamentoEmpresa1

*

Page 10: Relaciones  entre  Clases

Ejemplo.de Asociacion. Consideremos un auto que tiene un motor, un chasis, 4 ruedas y un sistemas de transmision. A su vez, las ruedas constan de neumático y un aro.

Auto

La relación de asociación se caracteriza por que una clase tiene como miembros objetos de otra clase.

Motor Chasis Ruedas Transmisión

AroNeumático

1

1

1

1

1

4

1

1

1

1

1

1

Page 11: Relaciones  entre  Clases

Relación de Dependencia

• Es una relación de utilización, donde un cambio de estado de un objeto(el independiente) afecta al estado de otro (el dependiente), pero no a la inversa.

• En la práctica cuando una clase se relaciona a otra a través de mensajes. Es decir cuando pasa como uno de los parámetros un ejemplar la clase dependiente.

Page 12: Relaciones  entre  Clases

Relación de Dependencia…• Una clase depende de otra, cuando: uno de los

parámetros o el tipo de retorno de cualquiera de los métodos de la clase dependiente es del tipo de la clase independiente.

• En esta relación una clase utiliza información y servicios de otra.

• Si se afecta el comportamiento de la clase independiente, se afecta el comportamiento de la clase dependiente. En UML la relacion de

dependencia se representa pro una flecha discontinua dirigida hacia la clase de la cual depende.

DepósitoCaja de ahorro

Page 13: Relaciones  entre  Clases

Comentario final

• Desde el punto de vista general y a nivel elemental a veces sólo se distingue entre dos clases la relación de herencia y de uso (dependencia). Esto se observa en BlueJ.

Page 14: Relaciones  entre  Clases

Defina el diagrama de clases para:

• Un carro que tiene un motor a gasolina, el motor depende de la gasolina para moverse.

• Un alumno depende del profesor para que le asigne la nota definitiva a la materia que esta cursando.

• Una ficha de ajedrez depende del tablero y del jugador para moverse.

Page 15: Relaciones  entre  Clases

Bibliografía

• https://sites.google.com/site/tutoriasdeingenieria/logica-o-o/que-es-la-logica-orientada-a-objetos-una-clase-basica/los-atributos-a-caracteristicas-de-las-clases-orientadas-a-objetos/lgica-oo-clase-3/los-objetos-en-la-logica-orientada-a-objetos/Trabajando-sistemas-oo-con-los-conceptos-basicos/06-El-constructor-de-las-clases/relaciones-entre-las-clases-de-un-sistema-orientado-a-objetos

• http://www.unirioja.es/cu/jearansa/0910/archivos/EIPR_Tema02.pdf

Page 16: Relaciones  entre  Clases

Videos

• http://www.youtube.com/watch?v=3xWMfhcQ9cs

• http://www.youtube.com/watch?v=05ja74ZRu_E