UML a Clases Java

  • Upload
    miguel

  • View
    46

  • Download
    2

Embed Size (px)

DESCRIPTION

uml a clases java

Citation preview

  • Paso de Diagrama de clases a JavaParte 1

    Clara Patricia Avella Ibez

    Tunja Boyac ColombiaDocente [email protected]

  • De Diagrama de clases a Java Nuestro objetivo en este momento es pasar el siguiente diagrama de clases a cdigo Java

    VehiculoPersona

    - docId: String- nombre: String- apellido: String- fechaNac: String- gnero: char

    +crearPersona(docN:String, nombreN: String, apellidoN: String, fechaNacN:String, generoN: char, vehiculo:Vehiculo): void

    tiene 1- marca: String- referencia: String- modelo: int- placa: String- color: String- valor: int

    Por ahora veremos cmo se realiza el

    manejo de una relacin de ASOCIACIN con una

    multiplicidad de 1

    +crearVehiculo(marcaN:String, referenciaN: String, modeloN: int, placaN:String, colorN: String, valorN: int): void+cambiarValor(valorNuevo: int): void+calcularImpuesto(void): double

    Recordemos que cada objeto de la clase Persona conoce a 1 objeto de

    la clase Vehculo. Esto se da porque cada persona tiene un vehculo (en nuestro ejemplo)

    Observemos que la clase Persona conoce

    a la clase Vehiculo(por la direccin de la

    relacin de asociacin) pero la clase Vehiculo no conoce a la clase

    persona

    Se lee: Una persona tiene 1 vehculo

  • De Diagrama de clases a Java

    Vehiculo

    - marca: String- referencia: String- modelo: int- placa: String- color: String- valor: int

    Como la clase Vehiculo no conoce a ninguna clase, veamos cmo se convierte a cdigo Java esta clase

    (el nombre de la Clase y los atributos por ahora, porque los

    mtodos los veremos ms adelante)

    public class Vehiculo{private String marca;private String

    referencia;private int modelo;private String placa;private String color;private int valor;

    }

    public significa que la clase es pblica (se puede tener acceso a ella desde

    otras clases de la aplicacin)

    class: indica a Java que es una clase

    Clase en UMLCdigo java de la clase (sin

    incluir los mtodos an)

    Nombre de la clase seguida de la llave

    de apertura al inicio {

    La clase debe tener una llave de cierre }al final para indicar que ah termina el cdigo de la clase

  • Nombre

    Atributos

    Operaciones

    Mtodos

    Empieza con maysculaSingularEl nombre es el mismo del archivo fsico con extensin .java

    Son variables de tipos bsicos de datos o de otras ClasesEmpiezan con minscula si es ms de una palabra usar

    mayscula en letra inicial de cada palabra diferente a la primera.Evitar usar _ (raya al piso)

    Segmento de cdigo secuencial que ejecuta una tarea especficaConocidos como procedimientos o funciones en programacin

    estructurada. Los mtodos casi siempre se invocan con un objeto y aplicalas instrucciones sobre el objeto con el cual se invoca.

    Pueden o no tener parmetros (los parmetros son valores que entran almtodo).

    Pueden o no retornar o devolver un valor

    Constantes

    Tienen asignado un valor que no cambia durante la ejecucin delprograma.

    Se declaran con mayscula sostenidaEjemplo static final int IVA_TIPO1 =16;

    Utilizan _ cuando est conformado su nombre por ms de una palabra.

    Declaracin de clases en Java Tambin debemos tener en cuenta los siguientes aspectos con el fin cumplir con estndares de codificacin y buenas prcticas de programacin

  • Declaracin de Clases en JavaModificador de la clase

    public: visible por otras clasesabstract: clase abstracta que no se puede instanciar .

    Atributos

    Mtodos

    modificador class NombreDeLaClase {

    modificador tipoDeDato nombreAtributo;

    modificador static final tipoDeDato nombre=valor;

    Ver siguiente diapositiva}

    Constantes

    Accesibilidad de los atributos y constantespublic: es accesible por cualquier objeto dentro yfuera de la clase.private: slo es accesible dentro de la clase donde esdeclaradaprotected: es accesible dentro de la clase donde esdeclarada y desde las clases derivadas (subclases oclases hijas) cuando hay herencia.final : para definir constantesstatic: para declarar atributos , constantes o mtodosde clase

    Tipos de modificadores para

    atributos, constantes y mtodos

  • Declaracin de Clases en Java

    Mtodos

    modificador tipoRetorno nombreDelMtodo (tipoDatoParametro(s) parametro(s) ) {cuerpo del mtodo

    }

    Accesibilidad de los mtodospublic: es accesible por cualquier clase.private: slo es accesible dentro de la clase dondees declaradoprotected: es accesible dentro de la clase dondees declarado y desde las clases derivadas(subclases o clases hijas) cuando hay herencia.static: es un mtodo de clase. No requiere de unobjeto para invocarse.

    Tipo de dato que retorna el mtodoSe escribe void si no retorna un valor

  • De Diagrama de clases a Java

    Tenga presente los siguientes aspectos

    Java es sensible a maysculas y minsculas, es decir, no es lo mismo escribir vehiculo que

    Vehiculo

    Evite incluir ees o tildes en los nombres de clases, mtodos,

    atributos, variables y constantes

    Lo nico que debe empezar con maysculas en Java es el

    nombre de la clases, lo dems empieza con minscula

    Ejemplos:calcularSalario() para un mtodotelefonoCasa para un atributo

    Si necesita declarar un atributo, variable o mtodo que tenga

    ms de dos palabras, escriba la letra inicial de la segunda o

    siguientes palabras con mayscula

    No se deben utilizar palabras reservadas (ej: public, class, for, if,

    etc.) para nombrar clases, variables, atributos, constantes o mtodos

  • Creacin de proyectos en Java Ahora pasaremos el cdigo en Eclipse

    Una vez que est ubicado en Eclipse, seleccione en el

    men: File- New Java Project

  • Creacin de proyectos en Java Escriba el nombre que quiere

    asignarle al proyectoEn este caso el proyecto que

    vamos a crear se llamaejemplo1

    Por default se asigna el JRE (Java Runtime Environment) que se instal previamente.

    D clic en Finish para confirmar la creacin de proyecto

  • Creacin de proyectos en Java En la ventana de Package Explorer

    aparece el proyecto con una carpeta llamada src (source ) donde se van a guardar los

    archivos .java o clases

    Aparece el JRE o biblioteca de Java que inc luye clases que ya

    vienen construidas en Java y que podemos utilizar en los

    programas que elaboremos

    Si no aparece la ventana PackageExplorer, hgala visible haciendo

    clic en el men superior: Window show View - Package Explorer

  • Creacin de proyectos en Java Ahora crearemos la clase

    Vehiculo que trabajado en este material

    Nos ubicamos sobre el paquete src y hacemos clic derecho para que nos aparezca la

    ventana ubicada en el centro

    Hacemos clic en New y seleccionamos Class

  • Creacin de clases en Java Aparece el paquete (carpeta) donde va a

    ubicarse el archivo con la clase a crear

    Si se quiere ubicar la clase en otro paquete dentro del paquete src, podemos

    escribir el nombre del paquete en este espacio. Si se deja en blanco crea la clase en un paquete al cual le asigna el mismo

    nombre del proyecto.En este caso le vamos a dar el nombre

    unico

    Se escribe el nombre de la clase. Para nuestro ejemplo Vehiculo

    Recuerde que los nombres de las clases inician con mayscula

    Se marcan los modificadores de la clase. Por default es public. Vamos a

    dejarlo as ya que la clase que vamos a crear es pblica

    Hacemos clic en Finish para confirmar la clase a crear

  • Creacin de clases en Java

    Se crea el paquete unico que

    configuramos en la ventana de creacin

    de la clase

    Dentro del paquete unicocrea el archivo Vehiculo.java que corresponde al archivo

    fsico que se genera al crer la clase

    Observe:

    En la ventana del centro aparece una pestaa con el cdigo fuente generado al

    crear la clase

  • Creacin de clases en Java Recordemos que esta es la clase

    Vehiculo definida en el diagrama de

    clases

    Vehiculo

    - marca: String- referencia: String- modelo: int- placa: String- color: String- valor: int

    El smbolo menos (modificador de atributos) del

    diagrama de clases se convierte en private en cdigo

    java.Esto significa que a los

    atributos solo se pueden acceder directamente dentro

    de la clase

    Escribimos en Java los atributos de la clase (tengamos cuidado de

    dejar el cdigo dentro de los corchetes de la clase {}

    Tenga presente que en el diagrama de clases UML se escribe primero el nombre del atributo y despus de los dos puntos

    el tipo de dato, pero en Java primero va el tipo de dato y despus el nombre del

    atributo, seguido de punto y coma ;

  • Creacin de clases en Java VehiculoPersona

    - docId: String- nombre: String- apellido: String- fechaNac: String- gnero: char

    +crearPersona(docN:String, nombreN: String, apellidoN: String, fechaNacN:String, generoN: char, vehiculo:Vehiculo): void

    tiene 1- marca: String- referencia: String- modelo: int- placa: String- color: String- valor: int

    +crearVehiculo(marcaN:String, referenciaN: String, modeloN: int, placaN:String, colorN: String, valorN: int): void+cambiarValor(valorNuevo: int): void+calcularImpuesto(void): double

    En cdigo Java la relacin de asociacin se convierte en un

    atributo para la clase de la cual sale la relacin, en este caso para la clase

    Persona.

    Veamos el cdigo fuente de la clase Persona en la siguiente diapositiva

    Retomando el diagrama de clases, recordemos que la clase Persona conoce a la

    clase Vehiculo, es decir que la relacin de asociacin nos indica que cada objeto de la

    clase Persona tiene un objeto de la clase Vehiculo

  • Creacin de clases en Java De la misma manera que se cre la clase Vehiculo, se crea la

    clase Persona

    Se escriben los atributos propios de clase con su

    modificador, tipo de dato y nombre

    Como la relacin de asociacin se convierte en

    atributo, el tipo de dato del atributo ser el nombre de la Clase con la cual se tiene

    la relacin

    El tipo del atributo es Vehiculo (nombre de la

    clase)El nombre del atributo en este caso es vehiculo (con

    minscula porque es el atributo)

    A la izquierda de la definicin deatributos aparecen bombillos amarillosque significan Warning (mensaje deprevencin). En este caso nos indicaque no ha sido utilizado ninguno de losatributos definidos. Cuandoadicionemos los mtodos se soluciona.esto

  • Diagrama de objetos Para entender mejor lo que significa que un objeto tenga atributos que son a su vez objetos de otra clase, pensemos en el ejemplo que estamos trabajando.

    La siguiente es una imagen que nos muestra los objetos que existiran en el mundo computacional si queremos representar a una persona con docId (documento de identidad): 345, nombre: Carlos, apellido: Surez, fecha de nacimiento: 27/12/1990 y gnero: m, que a su vez tiene (es propietaria) el vehculo con marca: Renault, referencia: logan, modelo: 2009, placa: GRS123 y color: gris

    p: Persona

    docId: 345nombre: Carlosapellido: SurezfechaNac: 27/12/1990genero: mvehiculo:

    v: Vehiculo

    marcaRenaultreferencia: Loganmodelo: 2009placa: GRS123color: Gris

    Esta caja representa a un objeto llamado

    v de la clase Vehiculo

    Esta caja representa a un

    objeto llamado p de tipo Persona

    El objeto v de la clase Vehiculo es el

    dato que ira asignado al atributo vehiculo del objeto

    p de la clase Persona

    Este es el DIAGRAMA DE OBJETOS deUML y nos ayuda a entender mejor losobjetos involucrados en el modelocomputacional y sus relaciones

  • FechaEmpleado

    - cedula: String- nombre: String- apellido: String- genero: char- salario: int

    Fecha de nacimiento 1- dia: int- mes: int- anio: int

    mtodosmtodos

    Fecha de ingreso 1

    public class Fecha{private int dia;private int mes;private int anio;

    }

    public class Empleado{private String cedula;private String nombre;private String apellido;private char genero;private int salario;private Fecha fechaNac;private Fecha fechaIng;

    }

    Atributos propios de la clase

    Atributos que salen de las relaciones

    Ejemplos Diagrama de clases a java

  • EditorialLibro

    - isbn: String- titulo: String- anio: int- precio: int

    Pertenece a 1- codigo: int- nombre: String- anio: int

    mtodosmtodos

    public class Editorial{private int codigo;private String nombre;private int anio;

    }

    public class Libro{private String isbn;private String titulo;private int anio;private int precio;private Editorial editorial;

    }

    Ejemplos Diagrama de clases a java

  • Fecha

    Persona

    - cedula: String- nombre: String- apellido: String- genero: char

    Fecha de nacimiento 1- dia: int- mes: int- anio: int

    mtodos

    mtodos

    Ciudad

    - codigo: int- nombre: String- indicativo: int

    mtodos

    ciudad de nacimiento 1

    ciudad de residencia 1

    public class Persona{private String cedula;private String nombre;private String apellido;private char genero;private Fecha fechaNac;private Ciudad ciudadNac;private Ciudad ciudadRes;

    }

    public class Fecha{private int dia;private int mes;private int anio;

    }

    public class Ciudad{private int codigo;private String nombre;private int indicativo;

    }

    Ejemplos