Dependencias Extremas
de
Clases
1
Diagrama de Clases
• El propósito de este diagrama es el de representar los
objetos fundamentales del sistema, es decir los que
percibe el usuario y con los que espera tratar para
completar su tarea en vez de objetos del sistema o de un
modelo de programación.
• La clase define el ámbito de definición de un conjunto de
objetos.
• Cada objeto pertenece a unaclase.
• Los objetos se crean por instanciación de las clases.
2
Diagrama de Clases
• Cada clase se representa en un rectángulo con tres
compartimientos:
• Nombre de la clase
• Atributos de la clase
• Operaciones de la clase
3
Diagrama de Clases: Atributos
•
•
•
•
•
•
•
Tipo:
Tipo: puede llegar a depender del lenguaje de programación a utilizar.
utilizar.
Valorinicial:
inicial: valor que poseerá el atributo al crear un objeto.
Visibilidad:
Visibilidad: está relacionado con el encapsulamiento.
Multiplicidad:
Multiplicidad: determinar si un atributo debe estar o no, y si posee un único valor o
una lista de valores.
Ordenamiento:
Ordenamiento: especifica si el atributo determina alguna relación de orden dentro
dentro de la
clase.
Capacidad de cambio:cambio: permite definir atributos con valores constantes.
Modificadores:
Modificadores: un atributo puede ser de clase, derivado, volátil, transitorio.
transitorio.
El atributo fecha de nacimiento es público.
El atributo edad es derivado (puede calcularse a partir
de la fecha de nacimiento), y determina una relación de
orden entre las instancias de las personas.
El atributo DNI es unatributo protegido.
El atributo coloresPreferidos representa una colección
o conjunto de valores del tipo Color
4
Diagrama de Clases: Atributos
Visibilidad
La encapsulamiento presenta tres ventajas básicas:
•
•
•
Se protegen los datos de accesos indebidos
El acoplamiento entre las clases se disminuye
Favorece la modularidad y el mantenimiento
Los atributos de una clase nodeberían ser manipulables directamente
directamente por el resto de
objetos.
Niveles de encapsulamiento:
(-) Privado : es el más fuerte. Esta parte es totalmente invisible desde
fuera de la clase (excepto para clases friends en terminología
terminología C++).
(~) Package : Sólo es visible dentro del mismo package.
(#) Los atributos/operaciones protegidos están visibles para las clases
friendsy para las clases derivadas de la original.
(+) Los atributos/operaciones públicos son visibles a otras clases (cuando
se trata de atributos se está transgrediendo el principio
principio de
encapsulamiento).
5
Diagrama de Clases: Atributos
Multiplicidad
1
El atributo debe tener un único valor.
0..1
El atributo puede o no tener un valor.
0..*
El atributo puede tener variosvalores o ninguno.
1..*
El atributo puede tener varios valores, pero debe tener al menos uno
*
El atributo puede tener varios valores.
M..N
El atributo puede tener entre M y N valores.
Modificadores
• De clase o estático:
estático: el atributo se aparece subrayado. No es necesario contar
con un objeto para ejecutarlo.
• Derivado:
Derivado: es calculable a partir de otrosatributos.
• Transitorio:
Transitorio: tendrá valor sólo durante una porción de la ejecución.
• Volátil:
Volátil: no se persiste.
6
Diagrama de Clases: Operaciones
Una operación es un servicio que una instancia de la clase puede realizar.
•
•
•
•
Tipo devuelto:
devuelto: puede llegar a depender del lenguaje de programación a utilizar.
utilizar.
Parámetros:
Parámetros:además del tipo, puede especificarse si son In, Out o InOut.
Visibilidad:
Visibilidad: está relacionado con el encapsulamiento.
Modificadores:
Modificadores: una operación puede ser de clase, abstracta, query o constructor.
constructor.
La operación calcularEdad es privado y no
devuelve nada.
El método público calcularHorasTrabajadas es
abstracto, las subclases de la clase Persona...
Regístrate para leer el documento completo.