RELACIONES ENTRE CLASES Curso: Programación Orientada a Objetos I Ciclo: III Carrera: Computación e Informática Docent
Views 109 Downloads 8 File size 1MB
RELACIONES ENTRE CLASES
Curso: Programación Orientada a Objetos I Ciclo: III Carrera: Computación e Informática
Docente: Ing. Hobby Saavedra Rosas [email protected] http://www.slideshare.net/hobbysaavedra Ing. Hobby Saavedra Rosas
1
Clases, Propiedades y Métodos + Indica propiedades / métodos públicos # Indica propiedades / métodos protegidos - Indica propiedades / métodos privados
Representación de una clase:
Relaciones Entre Clases En un diagrama de clases, los vínculos entre clases se representan por líneas. A las que se les de diferentes características dependiendo del tipo de
relación. Adicionalmente, en los extremos de estas líneas, puede colocarse la descripción del Rol que asume cada clase en esa relación
Cardinalidad También en los extremos de la línea, se coloca la Cardinalidad, que describe cuántos objetos de cada clase pueden participar en la relación.(mínimo...máximo) La Cardinalidad de una relación puede ser: - Ninguno o Muchos 0..* o * o (0..n) - Uno o muchos 1..* o (1..n) - Exactamente uno 1 o (1) - Un número fijo m o (m)
- Un numero variable 2..6
o (2..6)
Cardinalidad Ejemplo Cardinalidad :
Tipos de Relaciones entre Clases 1.
Dependencia
• Es una relación de uso, es decir una clase (dependiente) usa a otra que la necesita clase (independiente), para ejecutar algún proceso. • Con la dependencia mostramos que un cambio en la clase independiente puede afectar el funcionamiento de la clase dependiente, pero no al contrario.
Ing. Hobby Saavedra Rosas
6
Implementación de la relación de Dependencia en Vb .Net
Ing. Hobby Saavedra Rosas
7
Tipos de Relaciones entre Clases 2. La asociación: •
Se define como “ una relación semántica entre dos o más clases que especifica conexiones entre las instancias de estas clases”. 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
Ing. Hobby Saavedra Rosas
8
Implementación de la relación de Asociación Binaria en VB 10.0
Asociación binaria
Ing. Hobby Saavedra Rosas
9
Implementación de la relación de Asociación Reflexiva en VB 10.0
Asociación Reflexiva
Ing. Hobby Saavedra Rosas
10
Implementación de la relación de Asociación de Agregación en Java
Asociación de Agregación
Ing. Hobby Saavedra Rosas
• Representa la relación de un todo y sus partes . Representado por un rombo blanco • El objeto que es parte del otro puede existir ó no del objeto que lo agrega a su definición.
11
Implementación de la relación de Asociación Reflexiva en Java
Asociación de Composición • La asociación es un tipo de agregación más fuerte, representada por un rombo negro. • Describe una relación entre un todo y sus partes de modo que las existencias de las partes se perciben como totalmente dependientes del todo.
Ing. Hobby Saavedra Rosas
12
Implementación de la relación de Asociación N- Aria en Java
Asociación N-Aria
Ing. Hobby Saavedra Rosas
13
Generalización/Especialización • También denominada como Generalización / Especialización, porque se
refieren a dos técnicas que nos llevan a obtener el mismo resultado, la herencia. • La Generalización consiste en factorizar las propiedades comunes de un
conjunto de clases (clases hijas) en una clase más general (clase padre). • Las clases hijas heredan atributos y operaciones que están disponibles en sus clases padres. En general , la herencia ( Generalización o
Especialización )es una técnica muy eficaz para la extensión y reutilización de código.
Ing. Hobby Saavedra Rosas
14
Implementación de la relación de Herencia en Java
Generalización/Especialización
Ing. Hobby Saavedra Rosas
15
myBase y me Podemos acceder a los métodos que la clase padre usando la palabra base. Y para hacer referencia a los propios
métodos de la clase es con me.
Ing. Hobby Saavedra Rosas
16
EJERCICIO PROPUESTO
Ing. Hobby Saavedra Rosas
17
Ing. Hobby Saavedra Rosas
18
Ing. Hobby Saavedra Rosas
19
Ejemplo de Diagrama de Clases Sistema Gestión Pedidos Inicial
Ing. Hobby Saavedra Rosas
20