creando e implementado la clase: ClasePersona
1 /* 2 * To change this template, choose Tools | Templates 3 * and open the template in the editor. 4 */ 5 package entidades; 6 7 import java.util.Calendar; 8 import java.util.GregorianCalendar; 9 10 /** 11 * 12 * @author iAlexander 13 * Clase Persona 14 */ 15 public class Persona { 16 /* 17 * Atributos de la clase Persona los 3 de alcance privado, quiere decir 18 * que solo son visibles a nivel de clase, dos de tipo String(cadena de 19 * caracteres) uno para dni, y otro para nombre, no estan inicializados. 20 * el tercer atributo es te tipo GregorianCalendar. 21 * GregorianCalendar es una clase de java que pertenece al paquete 22 * java.util, todo objeto creado a partir de esta clase contiene 23 * información de una determinada fecha, ejemplo dia, mes, año, hora, 24 * minutos, zonaHoraria, ... ect; 25 * 26 */ 27 private String dni; 28 private String nombre; 29 private GregorianCalendar fechaNacimiento; 30 31 /* 32 * Casi todas las clases tienen un método constructor, ¿Qué es y para que 33 * sirve?. Un constructor permite inicializar a los atriburos, dándole un 34 * valor predefinido por nosotros 35 */ 36 37 /** 38 * Constructor por defecto de la clase persona, inicializa un objeto 39 * de la clase persona con los valores por defecto 40 */ 41 public Persona(){ 42 /* 43 * Se están inicializando los atributos de la clase persona, los de 44 * tipo String se inicializarán con una cadena entre comillas, los 45 * de tipo referenciado, en este caso fechaNacimiento es inicializado 46 * por la llamada al constructor por defecto de la clase 47 * GregorianCalendar 48 * en otro punto más adelante hablaremos de los constructores 49 */ 50 dni = "Undefined"; 51 nombre = "Undefined"; 52 fechaNacimiento = new GregorianCalendar(); 53 } 54 55 /** 56 * Método: asignarDni 57 * Asigna el dni a un objeto de tipo Persona 58 * @param nuevoDni, DNI de una persona 59 */ 60 public void asignarDni(String nuevoDni){ 61 this.dni = nuevoDni; 62 } 63 64 /** 65 * Método: asignarNombre 66 * Asigna el nombre a un objeto de tipo Persona 67 * @param nuevoNombre, nombre de la persona 68 */ 69 public void asignarNombre(String nuevoNombre){ 70 this.nombre = nuevoNombre; 71 } 72 73 /** 74 * Método: asignarFechaNacimiento 75 * Asigna la fecha de nacimiento a un objeto de tipo Persona 76 * @param nuevaFechaNacimiento 77 */ 78 public void asignarFechaNacimiento(GregorianCalendar nuevaFechaNacimiento){ 79 this.fechaNacimiento = nuevaFechaNacimiento; 80 } 81 82 /** 83 * Método imprimirFechaNacimiento, devuelve la fecha de nacimiento 84 * en formato dd/mm/aa 85 * @return devuelve la fecha de nacimiento en formato dd/mm/aa 86 */ 87 public String imprimirFechaNacimiento(){ 88 int dia, mes, año; 89 dia = fechaNacimiento.get(Calendar.DAY_OF_MONTH); 90 mes = fechaNacimiento.get(Calendar.MONTH) + 1; 91 año = fechaNacimiento.get(Calendar.YEAR); 92 return dia + "/" + mes + "/" + año; 93 } 94 95 /** 96 * Método calcularEdad 97 * @return la edad de una persona con respecto a su fecha 98 * de nacimiento 99 */ 100 public int calcularEdad(){ 101 int diaN, mesN, añoN; 102 int diaA, mesA, añoA; 103 int edad; 104 GregorianCalendar fechaActual = new GregorianCalendar(); 105 diaN = fechaNacimiento.get(Calendar.DAY_OF_MONTH); 106 mesN = fechaNacimiento.get(Calendar.MONTH) + 1; 107 añoN = fechaNacimiento.get(Calendar.YEAR); 108 109 diaA = fechaActual.get(Calendar.DAY_OF_MONTH); 110 mesA = fechaActual.get(Calendar.MONTH) + 1; 111 añoA = fechaActual.get(Calendar.YEAR); 112 113 edad = añoA - añoN; 114 115 if(mesA < mesN) 116 edad --; 117 else if(mesA == mesN) 118 if(diaA < diaN) 119 edad --; 120 121 return edad; 122 } 123 124 /** 125 * Método: toString 126 * @return la información contenida en un objeto de tipo Persona 127 */ 128 @Override 129 public String toString(){ 130 return "\nPersona" 131 + "\t\nNombre: " + nombre 132 + "\t\nFecha de Nacimiento: " + imprimirFechaNacimiento() 133 + "\t\nEdad: " + calcularEdad(); 134 } 135 } 136creando e implementado la clase: PruebaClasePersona
1 /* 2 * To change this template, choose Tools | Templates 3 * and open the template in the editor. 4 */ 5 package pruebas; 6 7 import entidades.Persona; 8 import java.util.GregorianCalendar; 9 10 /** 11 * 12 * @author iAlexander 13 */ 14 public class PruebaPersona { 15 public static void main(String[] args) { 16 /* 17 * Se instancian 3 objetos de tipo persona 18 */ 19 Persona empleado= new Persona(); 20 Persona estudiante = new Persona(); 21 Persona medico = new Persona(); 22 23 /* 24 * Asignando información al objeto estudiante 25 */ 26 estudiante.asignarDni("46914430"); 27 estudiante.asignarNombre("Igor Alexander"); 28 estudiante.asignarFechaNacimiento(new GregorianCalendar(1990, 11, 4)); 29 30 /* 31 * Imprimiendo información de los objetos 32 */ 33 System.out.println(empleado.toString()); 34 System.out.println(estudiante.toString()); 35 System.out.println(medico.toString()); 36 } 37 38 } 39Resultado...
run:
Persona
Nombre: Undefined
Fecha de
Nacimiento: 28/7/2014
Edad: 0
Persona
Nombre: Igor
Alexander
Fecha de
Nacimiento: 4/12/1990
Edad: 23
Persona
Nombre: Undefined
Fecha de
Nacimiento: 28/7/2014
Edad: 0
BUILD SUCCESSFUL (total time: 1 second)
No hay comentarios:
Publicar un comentario