9. 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.
12. 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”
15. 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.
17. 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.
18. 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
21. 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.
24. 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.
28. 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.
29. 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.
30. 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.
31. 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.