Ejemplo 1. Usando Objetos en Java.
Llegado a este punto del curso de java, ya tenemos idea de lo que es un operador, una variable, una Clase, un método constructor, un objeto, etc , por tanto ya estamos listos para ir poniendo en práctica algo de lo aprendido, de esa forma se interiorizan mejor los conocimientos. Si todavía no habéis instalado Netbeans, aquí os dejo el enlace de instalación y en esta otra página teneis el clásico programa de ejemplo «hola Mundo», que os ayudará a familiarizaros con la herramienta.
Aquí os dejo un sencillo programa que trabaja con objetos y se obtienen unos resultados sobre edades y demás. Puede que sea uno de los programas con menos utilidad del mundo de la programación, pero ayudará a tener un primer acercamiento al funcionamiento de los objetos y ver el acceso que podemos tener con ellos a los miembros de una clase cualquiera.
Primeramente creamos un proyecto nuevo, yo lo he llamado cursoJavaEjemplos, siguiendo los pasos del enlace que os he puesto «hola Mundo», automaticamente Netbeans os crea la clase CursoJavaEjemplos que contiene el método main que ya sabeis que es imprescindible para que funcione el programa. De momento en esta primera clase no escribimos nada y creamos una segunda clase situando el ratón en el paquete del proyecto y haciendo click en el botón secundario:
A la que llamaremos CalculaEdad en el apartado «class name», el resto lo dejaremos tal y como aparece:
Una vez creada la clase pondremos este código:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | package cursojavaejemplos; /** * * @author hachetml.com */ public class CalculaEdad { private String nombre; private int añoNacimiento; /** * * Constructor * * @param nombre * @param añoNacimiento */ public CalculaEdad(String nombre, int añoNacimiento) { this.nombre = nombre; this.añoNacimiento = añoNacimiento; } /** * * @return nombre * */ public String getNombre() { return nombre; } /** * * @nombre */ public void setNombre(String nombre) { this.nombre = nombre; } /** * * @return añoNacimiento * */ public int getAñoNacimiento() { return edad; } /** * * @añoNacimiento * */ public void setAñoNacimiento(int añoNacimiento) { this.añoNacimiento = añoNacimiento; } /** * * @return edad * */ public int calculadorEdad(){ int result=0; result=2018-this.añoNacimiento; return result; } } |
Repetiremos los mismos pasos anteriores y crearemos otra clase llamada CalculaAlago y tendrá este código:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | package cursojavaejemplos; /** * * @author hachetml.com */ public class CalculaAlago { private String nombre; private String genero; private int edad; public CalculaAlago(String nombre, String genero, int edad) { this.nombre = nombre; this.genero = genero; this.edad = edad; } /** * * @return * */ public String getNombre() { return nombre; } /** * * @nombre */ public void setNombre(String nombre) { this.nombre = nombre; } /** * * @return genero * */ public String getGenero() { return genero; } /** * * @genero * */ public void setGenero(String genero) { this.genero = genero; } /** * * @return edad * */ public int getEdad() { return edad; } /** * * @edad * */ public void setEdad(int edad) { this.edad = edad; } /** * * @return edad * */ public String calculaAlagador(){ String result=""; if(this.getGenero()=="Mujer" || this.getGenero()=="Femenino"){ if(this.getEdad()<60){ result= "Hola "+this.getNombre()+" Estas hecha una yogurina"; }else{ result= "Hola "+this.getNombre()+" Eres como el buen vino, 'mejoras con los años'"; } }else if (this.getGenero()=="Hombre" || this.getGenero()=="Masculino"){ if(this.getEdad()<60){ result= "Hola "+this.getNombre()+" Estas hecho un yogurin"; }else{ result= "Hola "+this.getNombre()+" Eres como el buen vino, 'mejoras con los años' machote"; } } return result; } } |
y finalmente volveremos a la clase principal CursoJavaEjemplos que es donde está el método main y pondremos lo siguiente:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | package cursojavaejemplos; /** * * @author hachetml.com */ public class CursoJavaEjemplos { public static void main(String[] args) { //Calculamos la edad CalculaEdad miEdad=new CalculaEdad("Pedrito",1945); System.out.println("Hola " +miEdad.getNombre()+ " tu edad es de: "+miEdad.calculadorEdad()+ " años"); //Cambiamos al objeto el año de Nacimiento miEdad.setAñoNacimiento(1940); System.out.println("Hola " +miEdad.getNombre()+ " tu edad es de: "+miEdad.calculadorEdad()+ " años"); System.out.println(); //Creamos los objetos CalculaAlago miAlago1=new CalculaAlago("Pablo","Hombre",35); CalculaAlago miAlago2=new CalculaAlago("Marta","Mujer",45); CalculaAlago miAlago3=new CalculaAlago("Joselito","Masculino",65); CalculaAlago miAlago4=new CalculaAlago("Carmen","Femenino",70); //LLamamos al método calculaAlagador con cada objeto creado System.out.println(miAlago1.calculaAlagador()); System.out.println(miAlago2.calculaAlagador()); System.out.println(miAlago3.calculaAlagador()); System.out.println(miAlago4.calculaAlagador()); } } |
Guardaremos o salvaremos todo, aunque Netbeans tiene autoguardado automático y ejecutaremos el programa haciendo click el el triangulo verde superior de la barra principal:
Tras ejecutar el programa en la pantalla inferior «out» de NetBeans aparecerá el siguiente resultado:
Aclaraciones importantes:
– En este programa hay tres clases y los atributos designados en cada clase son exclusivos de la clase a la que pertenecen, es decir son distintos aunque se hayan nombrado igual.
– En este programa se han creado distintos objetos y cada objeto tiene acceso a los miembros de la clase a la que pertenecen. Para tener acceso a los miembros de una clase desde otra clase, habría que crear un objeto de la primera clase he implementarlo en la segunda (Esto se verá en otros ejemplos).
-Se han utilizado comentarios «Javadoc» anterior a la implementación de cada método, esto permitirá crear la correspondiente documentación del programa (también lo veremos en este curso).
-Los atributos de cada clase tienen acceso privado, por eso se utilizan los métodos getters y setter para acceder a ellos, ya sea para leerlos o modificarlos, esto tiene que ver con el concepto de «encapsulación» ya explicado en este curso.
Ahora toca darle caña, jugar y modificar el programa a vuestro antojo, ya que forma parte del proceso de aprendizaje…