martes, 23 de febrero de 2016

017.- Uso de Propiedades de una Clase (Variables Globales) - Java y NetBeans


En este apartado voy a explicar el uso de Propiedades de la Clase (Variables Globales):

Las propiedades de una clase en java es el equivalente a las variables globales en lenguajes de programación estructurados como el C.

Una propiedad de una clase es una variable que puede ser accedida desde cualquier evento programado. Esta variable se inicializa a un valor cuando se ejecuta el programa y los distintos eventos pueden ir cambiando su valor según se necesite.


En el siguiente ejercicio haremos uso de las propiedades de la clase (variables globales) para entender su funcionamiento:

  1. Crea un nuevo proyecto y llámalo ProyectoEstacionamiento.

  1. Dentro de Source Packages crea un Java Package y llamalo paqueteEstacionamiento.

  1. Dentro de paqueteEstacionamiento crea un JFrame Form y nombralo VentanaEstacionamiento.

  1. El aspecto del proyecto será el siguiente:



  1. La clase principal del proyecto es la clase VentanaEstacionamiento.

  1. Se pretende hacer un pequeño programa que controle los coches que van entrando y van saliendo de un estacionamiento. En todo momento el programa debe decir cuántos coches hay dentro del estacionamiento. Para ello debes crear una ventana como la que sigue:



  1. Esta ventana contiene lo siguiente:

-        Un botón con el texto “Entró un coche” llamado btnEntro.
-        Un botón con el texto “Salió un coche” llamado btnSalio.
-        Un botón con el texto “Reiniciar” llamado btnReiniciar.
-        Una etiqueta con el texto “Coches en el Estacionamiento:”, no interesa el nombre que tenga.
-        Una etiqueta con borde y con el texto “0” llamada etiCoches.


  1. Se pretende que el programa funcione de la siguiente forma:

    1. Cuando el usuario pulse el botón “Entró un coche”, el número de coches del estacionamiento aumenta en 1, mostrándose en la etiqueta etiCoches.
    2. Si el usuario pulsa el botón “Salió un coche”, el número de coches del estacionamiento disminuye en 1, mostrándose en la etiqueta etiCoches.
    3. El botón Reiniciar coloca el número de coches del estacionamiento a 0.


  1. Para poder controlar el número de coches en el estacionamiento, es necesario que nuestra clase principal VentanaEstacionamiento tenga una propiedad (variable global) a la que llamaremos numeroCoches. Esta variable será entera (int).

Esta variable contendrá en todo momento la cantidad de coches que hay actualmente en el estacionamiento. Esta variable podrá ser usada desde cualquier evento.

  1. Para crear una variable global haz clic en el botón “Source” (u “Origen” dependiendo del idioma del NetBeans instalado) para acceder al código:



  1. Luego busca, al comienzo del código una línea que comenzará por

public class


Seguida del nombre de tu clase principal “VentanaEstacionamiento”.

Debajo de dicha línea es donde se programarán las propiedades de la clase (las variables globales):



  1. En dicho lugar declararás la variable numeroCoches de tipo int:



  1. Cuando el programa arranque, será necesario que la variable global coches tenga un valor inicial. O dicho de otra forma, será necesario inicializar la variable. Para inicializar la variable iremos al constructor. Añade lo siguiente al código:



Inicializamos a cero ya que se supone que cuando arranca el programa no hay ningún coche dentro del estacionamiento.


  1. Ahora que ya tenemos declarada e inicializada la variable global numeroCoches, esta puede ser usada sin problemas desde cualquier evento que programemos.

Por ejemplo, empezaremos programando la pulsación del botón “Entró un coche”. Acceda a su evento actionPerformed y programe esto:

        numeroCoches = numeroCoches + 1;
        etiCoches.setText(numeroCoches + "");


Como ves, se suma a la variable numeroCoches uno más y luego se coloca su valor actual en la etiqueta.


  1. Ejecuta el proyecto y prueba el botón varias veces.



  1. Ahora programaremos el botón “Salió un coche” de la siguiente forma:

        if (numeroCoches > 0) {
            numeroCoches = numeroCoches - 1;
            etiCoches.setText(numeroCoches + "");
        }


Como ves, se accede igualmente a la propiedad numeroCoches pero esta vez para restarle una unidad. Luego se muestra el valor actual de numeroCoches en la etiqueta correspondiente.

Se usa un if para controlar que no pueda restarse un coche cuando el estacionamiento esté vacío. (Si hay cero coches en el estacionamiento no se puede restar uno).


  1. Ejecuta el proyecto y prueba los dos botones. Observa como la cantidad de coches del estacionamiento aumenta o disminuye.



Lo realmente interesante de esto es que desde dos eventos distintos (desde dos botones) se puede usar la variable numeroCoches. Esto es así gracias a que ha sido creada como variable global, o dicho de otro modo, ha sido creada como propiedad de la clase VentanaEstacionamiento.


  1. Finalmente se programará el botón Reiniciar. Este botón, al ser pulsado, debe colocar la propiedad numeroCoches a cero. Programa dentro de su actionPerformed lo siguiente:

        numeroCoches = 0;
        etiCoches.setText("0");


Simplemente almacenamos el valor cero en la variable global y actualizamos la etiqueta.


  1. Ejecuta el proyecto y comprueba el funcionamiento de este botón.



CONCLUSIONES:

Las propiedades de la clase, también llamadas variables globales, son variables que pueden ser usadas desde cualquier método o evento del programa. Estas variables mantienen su valor hasta que otro método o evento lo modifique.

Las variables globales se declaran justo después de la línea public class.

La inicialización de estas variables se realizan en el método constructor.



No hay comentarios.:

Publicar un comentario