relaciones entre clases

Post on 30-Dec-2015

47 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

TRANSCRIPT

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.

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

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.

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”

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

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

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.

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 *

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

*

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

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.

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

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.

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.

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

Videos

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

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

top related