| Creación de un Televisor estándar |
| Paso 6: Diagrama de Clases UML |
UML (Unified Modeling Language, Lenguaje Unificado de Modelado) es un estándar auspiciado por el OMG (Object Management Group) para realizar las labores de Análisis y Diseño como antesala al desarrollo de cualquier aplicación escrita en un lenguaje Orientado a Objetos.
- una de las labores de Diseño es la creación de los Diagramas de Clases de Diseño
- estos diagramas son muy útiles porque muestran la estructura de las Clases que después van a estar escritas en un lenguaje de programación Orientado a Objetos
Estas son las dos Clases que hemos estado utilizando hasta ahora
- Televisor
- una Clase se divide en tres partes. En la primera parte tenemos
- el nombre de la Clase.
- nuestra Clase se llama Televisor
- (from paqtvestandar)
- aquí nos está indicando que la Clase Televisor pertenece al package (paquete) paqtvestandar
- -canal: int
- una Clase se divide en tres partes. En la segunda parte tenemos
- las variables de instancia o atributos
- nuestra Clase de momento tiene un atributo que se llama canal y es del tipo primitivo int
- para indicar que su ámbito es private, se pone el signo menos delante del nombre del atributo.
- +Televisor():
- una Clase se divide en tres partes. En la tercera parte tenemos
- los métodos u operaciones de la Clase
- a los Constructores también se les considera métodos
- pero como ya sabemos que un Constructor no devuelve nungún valor, después de los dos puntos no aparece la palabra reservada void ni ningún tipo de dato
- para indicar que su ámbito es public se pone el signo más delante del nombre del método
- +Televisor(valorCanal:int):
- en este caso este Constructor está sobrecargado con el nombre de una variable llamada valorCanal de tipo int
- +subirCanal():void
- en el interior de los paréntesis este método no tiene nada, porque no tiene argumentos
- como este método no devuelve ningún valor, utilizamos la palabra reservada void para indicarlo
- +getCanal():int
- como este método retorna un valor de tipo entero, lo indicamos con la palabra reservada int detras de los dos puntos ":"
- Aplicacion
- este es el nombre de la segunda Clase que hemos creado y que pertenece al mismo paquete
- +main(args:String[]):void
- de momento saber que está subrayado porque es static
- esta flecha es una Relación de Dependencia que nos indica que la Clase Aplicacion depende puntualmente de la Clase Televisor para poder realizar una serie de acciones
- <<instantiate>>
- UML utiliza los estereotipos para agregar información tanto a las Relaciones como a los Elementos (un Elemento puede ser por ejemplo una Clase)
- además de los estereotipos estándar de UML, los usuarios de UML podemos añadir nuevos estereotipos y así hacer que UML sea extensible
- en nuestro caso concreto estamos diciendo que una de las acciones que puede realizar la Clase Aplicacion sobre la Clase Televisor es crear instancias (<<instantiate>>) de tipo Televisor
Nota: Vamos a recordar la convención respecto a la utillización de Constructores explícitos e implicitos en Apéndice - Constructores explícitos e implicitos
De esta forma y siguiendo la convención de los Constructores explícitos e implicitos tenemos el siguiente Diagrama de Clases de Diseño con un Constructor por defecto y otro Cosntructor sobrecargado
