SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
Programación orientada
a objetos
Conocimientos previos
• ¿Qué es un diagrama de clase?
Relaciones entre clases
Utilidad
Temario
➢ Relaciones entre clases
➢ Multiplicidad de las asociaciones
Logro
Al finalizar esta sesión el
estudiante diseña un diagrama
de clase utilizando los diferentes
tipos de relación.
Relaciones entre clases
Asociación
Herencia
Implementación
Dependencia
Agregación
Composición
Multiplicidad de las
asociaciones
Asociación
• Una asociación representa un vínculo entre dos clases. representar
dependencia semántica. Se representa con una simple línea
continua o una flecha simple que une las clases. Por ejemplo, una
asociación unaria es representada así:
• Esto significa que la clase A conoce a la clase B, pero la clase B no
conoce a la clase A. Esto es equivalente a que la clase A tenga una
variable de tipo B entre sus atributos.
Asociación
Empresa
codigo
nombre
ruc
direccion
Empleado
codigo
nombre
cargo
1 *
Asociación
Herencia
• La herencia corresponde a la
herencia en programación
orientada a objetos. Una clase hija
hereda atributos y métodos de una
clase superior.
• Se lee “La clase cordero hereda de
la clase mamífero”
Herencia
Empleado
codigo
nombre
Administrativo
gradoAcademico
Obrero
horasTrabajo
Herencia
Implementación
• La implementación corresponde a
una clase que implementa una
interfaz.
• Se lee “la clase Mamífero
implementa la interfaz Animal”. Por
convención, la interfaz se escribe
entre << >>, o se denota
comenzando con una I, es decir,
en vez de <<Animal>> sería
IAnimal.
Implementación
<<Cuenta>>
realizarDeposito()
calcularMonto()
Finanza
realizarDeposito()
calcularMonto()
Implementación
@Override. Se utiliza para asegurar que un método de superclase esté
anulado y no simplemente sobrecargado. Si no lo hace, se producirá un error
en tiempo de compilación.
Dependencia
• En una relación de dependencia, una clase requiere de otra
para ofrecer sus funcionalidades, esto es, el cambio en una de
las clases puede afectar la otra, pero no inversamente.
• Generalmente, esto corresponde al uso de una clase como
parámetro para un método de otra.
• Por ejemplo para resolver una ecuación de segundo grado se necesita el método sqrt()
de la clase Math
Dependencia
Programa
adicionar(curso)
eliminar(curso)
Curso
codigo
nombre
credito
Dependencia
Agregación
• En una agregación, una de las clases forma parte de la otra, pero
sigue teniendo una existencia por sí misma. Por ejemplo, un
pájaro puede ser parte de una parvada, pero también puede
existir por sí mismo.
• En este ejemplo, una parvada es la agregación de una o más
aves, las cuales pueden pertenecer solamente a una parvada.
Agregación
Factura
total
Cliente
codigo
razonSocial
Producto
codigo
nombre
precio
*
1
*
*
Agregación
Composición
• En una composición, una de las
clases pertenece completamente a la
otra, sin posibilidad de existir por sí
misma. Es decir, el ciclo de vida de
una depende de la otra. Si se
destruye el todo, se destruye la
parte. En este caso, un perro esta
compuesto de una cabeza, de entre
0 y 4 patas y de entre 0 y 2 orejas.
• Si un objeto perro deja de existir,
todas las clases que están en la
composición dejan también de
existir.
Composición
Libro
codigo
titulo
autor
anioPublicacion
Pagina
contenido
numero
1 *
Composición
Aplicación
Ejercicio 1
• Diseñar un diagrama de UML que describa la siguiente situación
• Se tiene Caballo de Carreras y Caballos de tiro todos los
caballos tiene nombre, peso, edad además trotan y comen. Los
Caballos de Carreras además tienen mucho valor y son grandes
corredores. En cambio los caballos de tiro tienen gran resistencia
y tiran grandes cargas.
Ejercicio 2
• Crear un proyecto llamado Asociación en el que se diseñe un
diagrama de clases que modele el proceso de dar de alta a cada
una de las personas que se apuntan a una asociación.
• De cada persona interesa saber sus datos básicos DNI, nombre
completo y fecha de nacimiento. Cuando cada nuevo socio se da
de alta, se le asigna un código de asociado alfanumérico y se
anota la fecha de alta.
• La clase Fecha se modela con tres campos (día, mes y año) de
tipo entero. La clase DNI se modela con un campo de tipo entero
llamado valor y un campo de tipo carácter llamado verificador.
Ejercicio 3
• Representa mediante un diagrama de clases la siguiente
especificación:
• Una aplicación necesita almacenar información sobre empresas,
sus empleados y sus clientes
• Ambos (empleados y sus clientes) se caracterizan por su nombre
y edad. Los empleados tienen un sueldo bruto, los empleados
que son directivos tienen una categoría, así como un conjunto de
empleados subordinados. De los clientes, además se necesita
conocer su teléfono de contacto. La aplicación necesita mostrar
los datos de empleados y clientes.
Ejercicio 4
• Crea un diagrama de clases para representar la información
siguiente:
• Existen tres tipos de entidades geográficas: puntos, líneas y
áreas.
• Cada entidad geográfica tiene un nombre y un código.
• Un punto esta definido por sus coordenadas.
• Una línea esta definida por dos puntos por lo menos.
• Un área esta definida por tres puntos por lo menos.
S03.s2 - Relaciones entre clases herencia
S03.s2 - Relaciones entre clases herencia

Más contenido relacionado

Similar a S03.s2 - Relaciones entre clases herencia

Primeraclaseobjetos Clases
Primeraclaseobjetos ClasesPrimeraclaseobjetos Clases
Primeraclaseobjetos Clases
mtemarialuisa
 
Primeraclaseobjetos Clases
Primeraclaseobjetos ClasesPrimeraclaseobjetos Clases
Primeraclaseobjetos Clases
mtemarialuisa
 

Similar a S03.s2 - Relaciones entre clases herencia (20)

Diagrama de casos
Diagrama de casosDiagrama de casos
Diagrama de casos
 
Clases 2
Clases 2Clases 2
Clases 2
 
Uml diagrama claseobjeto
Uml diagrama claseobjetoUml diagrama claseobjeto
Uml diagrama claseobjeto
 
Uml diagrama clase objeto
Uml diagrama clase objetoUml diagrama clase objeto
Uml diagrama clase objeto
 
Clase 17
Clase 17Clase 17
Clase 17
 
Diagramadeclase 20090223
Diagramadeclase 20090223Diagramadeclase 20090223
Diagramadeclase 20090223
 
Primeraclaseobjetos clases
Primeraclaseobjetos clasesPrimeraclaseobjetos clases
Primeraclaseobjetos clases
 
Clase3 Programación Orientada a Objetos
Clase3 Programación Orientada a ObjetosClase3 Programación Orientada a Objetos
Clase3 Programación Orientada a Objetos
 
Diseño modelo er
Diseño modelo erDiseño modelo er
Diseño modelo er
 
UML Café
UML Café UML Café
UML Café
 
Action script 3_basic
Action script 3_basicAction script 3_basic
Action script 3_basic
 
Primeraclaseobjetos Clases
Primeraclaseobjetos ClasesPrimeraclaseobjetos Clases
Primeraclaseobjetos Clases
 
Primeraclaseobjetos Clases
Primeraclaseobjetos ClasesPrimeraclaseobjetos Clases
Primeraclaseobjetos Clases
 
Vista lógica
Vista lógicaVista lógica
Vista lógica
 
Uml - Caso práctico
Uml - Caso prácticoUml - Caso práctico
Uml - Caso práctico
 
Diagramas Analisis
Diagramas AnalisisDiagramas Analisis
Diagramas Analisis
 
Diagramas de clase(dream team)
Diagramas de clase(dream team)Diagramas de clase(dream team)
Diagramas de clase(dream team)
 
Manual de informática II
Manual de informática IIManual de informática II
Manual de informática II
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Aula virtual 2013 access
Aula virtual 2013 accessAula virtual 2013 access
Aula virtual 2013 access
 

S03.s2 - Relaciones entre clases herencia