Programación orientada a objetos: lanzar una aplicación

COMPARTIR 0 TWITTEAR

lanzador

Conitnuamos con nuestro curso de programación, ahora toca lanzar o ejecutar nuestra aplicación. Lanzar una aplicación, en Java, no es más que instanciar una clase y ejecutarla. Para ello siempre debemos tener en cuenta que:

  1. Una clase creada para tal propósito.
  2. Que dicha clase contenga el método main, si este método no se podrá ejecutar la clase.
  3. Solo un método main por proyecto Java, si otra clase tiene otro método main Eclipse reportará un error.

Lo normal es hacerlo desde otra clase, usualmente la de la interfaz gráfica, por ahora eso nos queda un poco lejos, así que lo que haremos es crear una nueva clase que llamaremos “Lanzador” y añadimos el siguiente código:

public static void main(String[] args) {
    Granja granja = new Granja();
    granja.imprimirNombre(); 
}

Como podemos observar es un método main que dispone que no devuelve nada y recibe una serie de parámetros. Por ahora solo nos preocupamos lo que hay en el cuerpo:

Granja granja = new Granja();
granja.imprimirNombre();

boton_run_eclipse

Podemos ejecutar este código haciendo click en el botón run. A parte de ejecutarlo previamente lo compilará y nos dirá si tiene algún error que la IDE no haya detectado. Si ocurre esto se generará una excepción que provocará que en tiempo de ejecución el programa aborte la ejecución. Una vez ejecutado en la consola no saldrá algo parecido a esto:

El nombre de la granja es: null

Por ahora no nos interesa lo que sale, vamos a fijarnos en las líneas que hemos añadido al código.

La primera línea lo que hace es crear una instancia (objeto) de la clase Granja. Para ello lo que se hace es crear un atributo de tipo Granja llamado granja. El ‘=’ que hay no es de comparación, si no de asignación, ese igual lo que hace es recoger lo que new Granja() devuelve y guardarlo en el atributo granja.

Si hilamos fino, podemos observar como el ejecutar el new Granja() en realidad estamos ejecutando un método. Un método muy especial, que en lenguajes como Java se denomina constructor. El constructor es lo primero que se ejecuta cuando creamos un objeto y lo que hace es una serie de inicializaciones que por ahora no nos interesan.

El constructor se puede o no declarar, si no se declara se coge uno que por defecto se crea en tiempo de ejecución. Este constructor no asigna ningún valor a los atributos del objeto ni ejecuta ningún método. Los constructores que declaramos nosotros casi siempre tendrán una serie de parámetros para inicializar algunos valores de los atributos de la clase.

Vamos a definir un nuevo constructor en la clase Granja, para ello vamos a nuestra clase Granja y añadimos el siguiente código:

public Granja(String nombre){
    this.nombre = nombre; 
}

No fijamos que los constructores nunca tienen tipo de retorno, ya que no devuelven nada, y que su nombre debe ser exactamente el mismo que el nombre de la clase.

Vamos a crear una nueva instancia de la granja añadiendo en el método main del lanzador las siguientes líneas:

Granja granja2 = new Granja("granja2");
granja2.imprimirNombre();

Si queremos ejecutar nos dará errores en la granja 1 pues deberá usar un constructor que hallamos definido ya en el código, ya que una vez definido un constructor podemos crear todos los que queramos, pero ya no podremos lanzar aplicaciones que usen el que se genera por defecto. Modificando quedaría algo así:

public static void main(String[] args) {
    Granja granja = new Granja("granja1");
    Granja granja2 = new Granja("granja2");
    granja.imprimirNombre();
    granja2.imprimirNombre(); 
}

Si lanzamos la aplicación tendremos las salidas:

El nombre de la granja es: granja1

El nombre de la granja es: granja2

Fijándonos en la salidas vemos como tenemos granjas y que cada una tendrá un nombre diferente. Esto es muy significativo, porque demuestra que cada objeto del tipo Granja tendrá un estado interno diferente a las demás, y que este estado interno estará definida por sus atributos.

Para probarlo vosotros mismos podéis usar el código fuente que hemos utilizado para la ocasión.

Archivado en Curso de Programación, Java, Programación orientada a objetos
COMPARTIR 0 TWITTEAR

Comentarios (6)

Usa tu cuenta de Facebook para dejar tu opinión.

¿Te ha gustado? ¡No te pierdas nada más!

follow us in feedly

Otras webs de Difoosion