8b Curso de POO en java - paso de diagrama clases a java 1

15,637 views
15,332 views

Published on

8b_ Pasando de diagrama de clases a java

0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
15,637
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
506
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

8b Curso de POO en java - paso de diagrama clases a java 1

  1. 1. Paso de Diagrama de clases a JavaParte 1Clara Patricia Avella IbáñezTunja – Boyacá – ColombiaDocente universitariacpavella@gmail.com
  2. 2. De Diagrama de clases a JavaNuestro objetivo en este momento es pasar el siguiente diagrama de clases a códigoJavaVehiculoPersona- docId: String- nombre: String- apellido: String- fechaNac: String- género: char+crearPersona(docN:String, nombreN:String, apellidoN: String,fechaNacN:String, generoN: char,vehiculo:Vehiculo): voidtiene 1- marca: String- referencia: String- modelo: int- placa: String- color: String- valor: intPor ahora veremoscómo se realiza elmanejo de una relaciónde ASOCIACIÓN con unamultiplicidad de 1+crearVehiculo(marcaN:String,referenciaN: String, modeloN: int,placaN:String, colorN: String, valorN:int): void+cambiarValor(valorNuevo: int): void+calcularImpuesto(void): doubleRecordemos que cada objeto de laclase Persona conoce a 1 objeto dela clase Vehículo. Esto se daporque cada persona tiene unvehículo (en nuestro ejemplo)Observemos que laclase Persona conocea la clase Vehiculo(por la dirección de larelación deasociación) pero laclase Vehiculo noconoce a la clasepersonaSe lee:Unapersonatiene 1vehículo
  3. 3. De Diagrama de clases a JavaVehiculo- marca: String- referencia: String- modelo: int- placa: String- color: String- valor: intComo la clase Vehiculo no conocea ninguna clase, veamos cómo seconvierte a código Java esta clase(el nombre de la Clase y losatributos por ahora, porque losmétodos los veremos másadelante)public class Vehiculo{private String marca;private Stringreferencia;private int modelo;private String placa;private String color;private int valor;}public significa que laclase es pública (se puedetener acceso a ella desdeotras clases de laaplicación)class: indica a Javaque es una claseClase en UMLCódigo java de la clase (sinincluir los métodos aún)Nombre de la claseseguida de la llavede apertura al inicio{La clase debe teneruna llave de cierre }al final para indicarque ahí termina elcódigo de la clase
  4. 4. NombreAtributosOperacionesóMétodosEmpieza con mayúsculaSingularEl nombre es el mismo del archivo físico con extensión .javaSon variables de tipos básicos de datos o de otras ClasesEmpiezan con minúscula si es más de una palabra usarmayúscula en letra inicial de cada palabra diferente a la primera.Evitar usar _ (raya al piso)Segmento de código secuencial que ejecuta una tarea específicaConocidos como procedimientos o funciones en programaciónestructurada. Los métodos casi siempre se invocan con un objeto y aplicalas instrucciones sobre el objeto con el cual se invoca.Pueden o no tener parámetros (los parámetros son valores que entran almétodo).Pueden o no retornar o devolver un valorConstantesTienen asignado un valor que no cambia durante la ejecución delprograma.Se declaran con mayúscula sostenidaEjemplo static final int IVA_TIPO1 =16;Utilizan _ cuando está conformado su nombre por más de una palabra.Declaración de clases en JavaTambién debemos tener en cuenta los siguientes aspectos con el fin cumplircon estándares de codificación y buenas prácticas de programación
  5. 5. Declaración de Clases en JavaModificador de la clasepublic: visible por otras clasesabstract: clase abstracta que no se puedeinstanciar .AtributosMétodosmodificador class NombreDeLaClase {modificador tipoDeDato nombreAtributo;modificador static final tipoDeDato nombre=valor;Ver siguiente diapositiva}ConstantesAccesibilidad de los atributos y constantespublic: es accesible por cualquier objeto dentro yfuera de la clase.private: sólo 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 métodosde claseTipos demodificadores paraatributos, constantesy métodos
  6. 6. Declaración de Clases en JavaMétodosmodificador tipoRetorno nombreDelMétodo (tipoDatoParametro(s) parametro(s) ) {cuerpo del método}Accesibilidad de los métodospublic: es accesible por cualquier clase.private: sólo 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 método de clase. No requiere de unobjeto para invocarse.Tipo de dato que retorna el métodoSe escribe void si no retorna un valor
  7. 7. De Diagrama de clases a JavaTenga presente lossiguientes aspectosJava es sensible a mayúsculas yminúsculas, es decir, no es lomismo escribir vehiculo queVehiculoEvite incluir eñes o tildes en losnombres de clases, métodos,atributos, variables y constantesLo único que debe empezar conmayúsculas en Java es elnombre de la clases, lo demásempieza con minúsculaEjemplos:calcularSalario() para un métodotelefonoCasa para un atributoSi necesita declarar un atributo,variable o método que tengamás de dos palabras, escriba laletra inicial de la segunda osiguientes palabras conmayúsculaNo se deben utilizar palabrasreservadas (ej: public, class, for, if,etc.) para nombrar clases, variables,atributos, constantes o métodos
  8. 8. Creación de proyectos en JavaAhora pasaremos el código en EclipseUna vez que esté ubicadoen Eclipse, seleccione en elmenú: File- New – JavaProject
  9. 9. Creación de proyectos en JavaEscriba el nombre que quiereasignarle al proyectoEn este caso el proyecto quevamos a crear se llamaejemplo1Por default se asigna el JRE(Java Runtime Environment)que se instaló previamente.Dé clic en Finish para confirmarla creación de proyecto
  10. 10. Creación de proyectos en JavaEn la ventana de Package Exploreraparece el proyecto con unacarpeta llamada src (source )donde se van a guardar losarchivos .java o clasesAparece el JRE o biblioteca deJava que inc luye clases que yavienen construidas en Java y quepodemos utilizar en losprogramas que elaboremosSi no aparece la ventana PackageExplorer, hágala visible haciendoclic en el menú superior: Window– show View - Package Explorer
  11. 11. Creación de proyectos en JavaAhora crearemos la claseVehiculo que trabajado eneste materialNos ubicamos sobre el paquetesrc y hacemos clic derechopara que nos aparezca laventana ubicada en el centroHacemos clic en New yseleccionamos Class
  12. 12. Creación de clases en JavaAparece el paquete (carpeta) donde va aubicarse el archivo con la clase a crearSi se quiere ubicar la clase en otropaquete dentro del paquete src, podemosescribir el nombre del paquete en esteespacio. Si se deja en blanco crea la claseen un paquete al cual le asigna el mismonombre del proyecto.En este caso le vamos a dar el nombreunicoSe escribe el nombre de la clase. Paranuestro ejemplo VehiculoRecuerde que los nombres de lasclases inician con mayúsculaSe marcan los modificadores de laclase. Por default es public. Vamos adejarlo así ya que la clase que vamosa crear es públicaHacemos clicen Finish paraconfirmar laclase a crear
  13. 13. Creación de clases en JavaSe crea el paqueteunico queconfiguramos en laventana de creaciónde la claseDentro del paquete unicocrea el archivo Vehiculo.javaque corresponde al archivofísico que se genera al crer laclaseObserve:En la ventana del centroaparece una pestaña con elcódigo fuente generado alcrear la clase
  14. 14. Creación de clases en JavaRecordemos queesta es la claseVehiculo definidaen el diagrama declasesVehiculo- marca: String- referencia: String- modelo: int- placa: String- color: String- valor: intEl símbolo menos –(modificador de atributos) deldiagrama de clases seconvierte en private en códigojava.Esto significa que a losatributos solo se puedenacceder directamente dentrode la claseEscribimos en Java los atributosde la clase (tengamos cuidado dedejar el código dentro de loscorchetes de la clase {}Tenga presente que en el diagrama declases UML se escribe primero el nombredel atributo y después de los dos puntosel tipo de dato, pero en Java primero va eltipo de dato y después el nombre delatributo, seguido de punto y coma ;
  15. 15. Creación de clases en JavaVehiculoPersona- docId: String- nombre: String- apellido: String- fechaNac: String- género: char+crearPersona(docN:String, nombreN:String, apellidoN: String,fechaNacN:String, generoN: char,vehiculo:Vehiculo): voidtiene 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): doubleEn código Java la relación deasociación se convierte en unatributo para la clase de la cual salela relación, en este caso para la clasePersona.Veamos el código fuente de la clasePersona en la siguiente diapositivaRetomando el diagrama declases, recordemos que laclase Persona conoce a laclase Vehiculo, es decir quela relación de asociación nosindica que cada objeto de laclase Persona tiene unobjeto de la clase Vehiculo
  16. 16. Creación de clases en JavaDe la misma maneraque se creó la claseVehiculo, se crea laclase PersonaSe escriben los atributospropios de clase con sumodificador, tipo de dato ynombreComo la relación deasociación se convierte enatributo, el tipo de dato delatributo será el nombre dela Clase con la cual se tienela relaciónEl tipo del atributo esVehiculo (nombre de laclase)El nombre del atributo eneste caso es vehiculo (conminúscula porque es elatributo)A la izquierda de la definición deatributos aparecen bombillos amarillosque significan Warning (mensaje deprevención). En este caso nos indicaque no ha sido utilizado ninguno de losatributos definidos. Cuandoadicionemos los métodos se soluciona.esto
  17. 17. Diagrama de objetosPara 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 existirían en el mundo computacional siqueremos representar a una persona con docId (documento de identidad): 345, nombre: Carlos, apellido:Suárez, fecha de nacimiento: 27/12/1990 y género: m, que a su vez tiene (es propietaria) el vehículo conmarca: Renault, referencia: logan, modelo: 2009, placa: GRS123 y color: grisp: PersonadocId: “345”nombre: “Carlos”apellido: “Suárez”fechaNac:“27/12/1990”genero: ‘m’vehiculo:v: Vehiculomarca“Renault”referencia: “Logan”modelo: 2009placa: “GRS123”color: “Gris”Esta caja representaa un objeto llamadov de la claseVehiculoEsta cajarepresenta a unobjeto llamado pde tipo PersonaEl objeto v de laclase Vehiculo es eldato que iríaasignado al atributovehiculo del objetop de la clasePersonaEste es el DIAGRAMA DE OBJETOS deUML y nos ayuda a entender mejor losobjetos involucrados en el modelocomputacional y sus relaciones
  18. 18. FechaEmpleado- cedula: String- nombre: String- apellido: String- genero: char- salario: intFecha de nacimiento 1- dia: int- mes: int- anio: intmétodosmétodosFecha de ingreso 1public 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 propiosde la claseAtributos quesalen de lasrelacionesEjemplos – Diagrama de clases a java
  19. 19. EditorialLibro- isbn: String- titulo: String- anio: int- precio: intPertenece a 1- codigo: int- nombre: String- anio: intmétodosmétodospublic 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
  20. 20. FechaPersona- cedula: String- nombre: String- apellido: String- genero: charFecha de nacimiento 1- dia: int- mes: int- anio: intmétodosmétodosCiudad- codigo: int- nombre: String- indicativo: intmétodosciudad de nacimiento 1ciudad de residencia 1public 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

×