jueves 10 de enero de 2008

Atributos y Métodos Estáticos

Nosotros en algún momento determinado al crear una clase necesitamos o queremos almacenar información de tal manera que esta sea igual para todas las instancias de esa clase, para ello debemos ocupar los denominados atributos estáticos, los cuales cumplen con la función de que su valor no se modifica dependiendo de la instancia, sino que el valor va a ser para todos igual, en caso de que se modifique el valor o la información de nuestro atributo estático este cambiara para todas las instancias de nuestra clase. A final de cuentas a lo que llegamos es a una copia única de la variable de instancia. Para hacer esto posible debemos utilizar la palabra reservada “static” al momento de declarar nuestra variable.

Veamos un ejemplo de esto:

public class Ejemplo extends GranEjemplo
{

static int UF = 100;

}

El valor de nuestra variable UF siempre será el mismo para cualquier objeto instansiado de la clase Ejemplo. Si el objeto instansiado cambia el valor de nuestra variable este cambiara para todos los demás objetos.

Bien, de esta misma manera podemos crear métodos estáticos también, los cuales solamente pueden trabajar con variables estáticas, estos métodos estáticos no pueden acceder a variables que no sean de instancia estática.

Veamos un ejemplo:

public class Ejemplo extends GranEjemplo
{
static int UF = 100;

double dolar = 50.45;


static void aumentaUF()

{

UF++;

}

}

Acá podemos observar que el método al ser declarado al principio también lleva la palabra reservada “static” por ende lo hace un método estático, recuerden que solo pueden trabajar con variables de instancia static. Si al método aumentaUF(), yo le hubiese indicado que aumentara el valor de la variable “dolar”, esto me mandaría un error, ya que esta variable no es estática.

Descargar: Video sobre función static.