Diseño de Clases

17
Diseño de clases Diseño de clases Ing. Rolando Steep Quezada Martínez Ing. Rolando Steep Quezada Martínez [email protected] [email protected] Programación Básica en Java y Programación Orientada a Objetos Programación Básica en Java y Programación Orientada a Objetos

Transcript of Diseño de Clases

Page 1: Diseño de Clases

Diseño de clasesDiseño de clases

Ing. Rolando Steep Quezada MartínezIng. Rolando Steep Quezada Martínez

[email protected]@upnorte.edu.pe

Programación Básica en Java y Programación Orientada a Objetos Programación Básica en Java y Programación Orientada a Objetos

Page 2: Diseño de Clases

Copyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 6-6-22

Diagrama de ClasesDiagrama de Clases

• Muestran un conjunto de clases y sus relaciones

Los diagramas de clases proporcionan una perspectiva estática del sistema (representan su diseño estructural)

Page 3: Diseño de Clases

Copyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 6-6-33

RelacionesRelaciones

• Las relaciones existentes entre las distinta clases nos indican cómo se comunican los objetos de esas clases entre sí:

• Existen distintos tipos de relaciones:– Asociación (conexión entre clases)– Dependencia (relación de uso)– Generalización/especialización (relaciones de herencia)

Page 4: Diseño de Clases

Copyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 6-6-44

AsociaciónAsociación

• Una asociación en general es una línea que une dos o más símbolos. Pueden tener varios tipos de adornos, que definen su semántica y características. Los tipos de asociaciones entre clases presentes en un diagrama estático son: – Asociación binaria– Asociación reflexiva – Asociación n-aria – Agregación– Composición

Page 5: Diseño de Clases

Copyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 6-6-55

Asociación binariaAsociación binaria

Page 6: Diseño de Clases

Copyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 6-6-66

Asociación reflexivaAsociación reflexiva

Page 7: Diseño de Clases

Copyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 6-6-77

Asociación n-ariaAsociación n-aria

Page 8: Diseño de Clases

Copyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 6-6-88

Asociación de agregaciónAsociación de agregación

Page 9: Diseño de Clases

Copyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 6-6-99

Asociación de composiciónAsociación de composición

Page 10: Diseño de Clases

Copyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 6-6-1010

Asociación de dependenciaAsociación de dependencia

Page 11: Diseño de Clases

Copyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 6-6-1111

Asociación de Asociación de generalización/especializacióngeneralización/especialización

ge

ne

raliz

aci

ón

esp

ecia

lizació

n

Page 12: Diseño de Clases

Copyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 6-6-1212

Navegación de las asociacionesNavegación de las asociaciones

Page 13: Diseño de Clases

Copyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 6-6-1313

PaquetesPaquetes

UML Sistema de Archivos

Netbeans Definición de una Clase

Page 14: Diseño de Clases

Copyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 6-6-1414

La sentencia importLa sentencia import

Page 15: Diseño de Clases

Copyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 6-6-1515

La sentencia import static (jdk 1.5)La sentencia import static (jdk 1.5)

Page 16: Diseño de Clases

Copyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 6-6-1616

ResumenResumen

• Los objetos se comunican por medio de asociaciones.• Las asociaciones entre objetos pueden establecer jerarquías

(generalización/especialización).• No siempre una asociación es bidireccionales, siempre y

cuando se defina la navegabilidad.• Las clases de un paquete pueden acceder a clases definidas

en otros paquetes usando sentencias import.• La sentencia import static libera el vínculo de dependencia

de la clase que define el miembro estático.

Page 17: Diseño de Clases

Copyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2007, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 6-6-1717

Práctica 4Práctica 4

• Objetivos:

– Implementar las clases y relaciones de un Diagrama de Clases.

– Identificar los atributos que surgen a partir de una asociación.