Proyecto Simple Java en Netbeans
Proyecto Simple Java en Netbeans
1)- Para crear un proyecto Java de Aplicacin usted debe hacerlo a travez de las opciones: Archivo Nuevo Proyecto En el dialogo de Nuevo Proyecto debe seleccionar: Java y Java Aplicacin y pulsar sobre el boton next o proximo. Para en el dialogo de Nuevo Java Aplicacin, ingresar el nombre del proyecto y seleccionar finalizar. 2)- Netbeans creara las bases necesarias para que usted pueda comenzar a desarrollar su proyecto Java. Observe que genero una carpeta de proyecto denominada Paquete de Fuentes y dentro de ella otro paquete con el nombre del proyecto. All encontrar el archivo Main.java, con el siguiente codigo java: package proyecto1; /** * * @author ubaldo */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here } } La funcin main() de la clase Main ser el punto de partida para la ejecucin de su proyecto Java. Que hacemos ahora?. Bueno, para transformar nuestro proyecto en un ejemplo simple vamos a incorporar una clase al proyecto. 3)- Para incorporar una clase al proyecto debemos: Posicionarnos con el cursor del mouse sobre el paquete que contiene a Main.java y tocar el boton derecho del mouse, luego seleccionar Nuevo Clase Java, en el dialogo indicar el nombre de la nueva clase. Por ejemplo Fecha y seleccionar Finalizar. Con esto Netbeans crear dentro del paquete proyecto1, el archivo Fecha.java con el siguiente codigo: package proyecto1; /** * * @author ubaldo */ public class Fecha { } La base necesaria para indicar los componentes de la clase Fecha. Donde definiremos propiedades y
mtodos. Ingresamos las propiedades dia, mes y ao, y nos quedar: package proyecto1; /** * * @author ubaldo */ public class Fecha { private int dia; private int mes; private int ao; } Recuerden que nuestro codigo debe estar formateado para respetar las convenciones internacionales de los programadores Java. Para esto debemos, sobre el codigo de la clase Fecha.java con la flecha del mouse, tocar el boton derecho y seleccionar Formato. Y nos quedar el codigo con los identados de las propiedades ingresadas. package proyecto1; /** * * @author ubaldo */ public class Fecha { private int dia; private int mes; private int ao; } Ahora vamos a crear los mtodos asesores y mutadores de la clase Fecha (seters y geters). Siempre sobre la clase, debemos tocar el boton derecho del mouse y seleccionar la opcin Insertar Codigo, para luego en el dialogo especificar Setter and Getter y despues pedirle que lo haga con dia, mes y ao e indicar que genere. Entonces nuestro codigo de la clase Fecha quedar: package proyecto1; /** * * @author ubaldo */ public class Fecha { private int dia; private int mes; private int ao; public int getAo() { return ao; }
public void setAo(int ao) { this.ao = ao; } public int getDia() { return dia; } public void setDia(int dia) { this.dia = dia; } public int getMes() { return mes; } public void setMes(int mes) { this.mes = mes; } } Con esto estaremos encapsulando las propiedades de la clase Fecha y estaremos en condiciones de crear objetos Fecha en el main() para utilizarlas. 4)- Creando objetos de una clase definida en nuestro proyecto. Ahora estamos en condiciones de declarar objetos en nuestra funcin main(). Por lo cual incorporamos el siguiente codigo en Main.java. package proyecto1; /** * * @author ubaldo */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here Fecha f; f = new Fecha(); f.setDia(17); f.setMes(5); f.setAo(2011); System.out.print(f.getDia()); System.out.print('/'); System.out.print(f.getMes()); System.out.print('/'); System.out.println(f.getAo()); } } No del todo muy elegante, pero para comenzar esta bien. Entonces ejecuten el proyecto seleccionando
el proyecto con el mouse en el dialogo de proyectos y pulsando el boton derecho, seleccionar run o ejecutar. Observen que f es el objeto declarado de tipo Fecha. E instancia a la clase Fecha en forma dinmica a partir del comando new. Entonces f persiste en el mbito de la funcin main(). Los set presedidos por el identificador del objeto, en este caso f, sern los encargados de mutar las propiedades con los valores pasados como parmetros. System.out.print() y prinln() sern los mtodos de la clase System encargados a partir de los gets, de producir la salida de las propiedades por la consola de salida estandar (output). SEGUNDA FASE Vamos a incorporar modificaciones que sustancialmente nos permitiran disponer de un codigo mas limpio y claro sobre el POO. 1)- Escribimos el mtodo mostrar() en la clase Fecha, de manera de reemplazar del main() las instrucciones System.out por f.mostrar(). Nos quedara la clase Fecha con el siguiente codigo escrito para el metodo mostrar(): public void mostrar(){ System.out.print(getDia()); System.out.print('/'); System.out.print(getMes()); System.out.print('/'); System.out.println(getAo()); } Y nuestro main() del siguiente modo: public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here Fecha f; f = new Fecha(); f.setDia(17); f.setMes(5); f.setAo(2011); f.mostrar(); // este fue el cambio } } 2)- Ahora bien, que les parece si aprovechamos que al instanciarse la clase Fecha se ejecuta su constructor si lo posee y evitamos la escritura de los sets en el main() pasando los valores de dia, mes y ao hacia el constructor. Como no tenemos constructor alguno en la clase Fecha debemos incorporar el siguiente codigo: Fecha(int d,int m, int a){ setDia(d); setMes(m); setAo(a); }
Donde este constructor recibe los parmetros adecuados para mutar las propiedades. Nuestro main() quedara con el siguiente codigo: public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here Fecha f; f = new Fecha(17,5,2011); // instancia la clase Fecha y le pasa 3 enteros al constructor f.mostrar(); } } Por su puesto que ahora, cada vez que se instansie la clase Fecha se deber pasar 3 enteros al constructor de modo de inicializar las propiedades del objeto. Si se presenta la necesidad de crear objetos Fecha sin parmetros. Por ejemplo pensando que sus propiedades podrn ser resultado de algn calculo. Debemos sobrecargar el mtodo constructor escribiendo lo siguiente en la clase Fecha: Fecha(){ } Y diremos que el mtodo constructor Fecha() es polimorfico o produce polimorfismo de parametros que en definitiva tiene una solucin en tiempo de compilacin. Bueno, les dejamos la tarea de incorporar el codigo toString() a la clase Fecha y utilizarlo como mtodo de obtencin de la informacin de las propiedades. Esto lo podrn hacer incorporando codigo como lo hicieron con los sets y gets. Ing. Ubaldo Bonaparte Director de ctedra Paradigmas de programacin FRT UTN, 2011