Estáticos

Métodos estáticos:

Los métodos estáticos están restringidos en su ámbito, de tal manera que no tienen acceso a los atributos del objeto. 


·         Se cargan en memoria en tiempo de compilación y no a medida que se ejecutan las líneas de código del programa. Van precedidos del modificador static.
·         Si se invoca desde la clase en la que se encuentra definido, basta con escribir su nombre.
·         Si se le invoca desde una clase distinta, debe anteponerse a su nombre, el de la clase en la que se encuentra seguido del operador punto (.) .metodoEstatico
Suelen emplearse para realizar operaciones comunes a todos los objetos de la clase. No afectan a los estados de los mismos (a los valores de sus variables de instancia).


trabajan para la clase como un todo en lugar de para un objeto particular de la clase. En lugar de hacer una función global que viva en y contamine el espacio de nombres global o local, puede incluir el método dentro de la clase. Cuando crea un método estático, está expresando una asociación con una clase particular.

Ejemplo:

public static void contadorUniversal (){
    numContadorUniversasl++;
}

si se necesita un método para contabilizar el número de objetos creados de una clase, tiene sentido que sea estático ya que su función (aumentar el valor de una variable entera) se realizaría independientemente del objeto empleado para invocarle. Ejemplo contadorUniversal.

Atributos Estáticos:

-  No es específico de cada objeto. Solo hay una copia del mismo y su valor es compartido por todos los objetos de la clase.
- Podemos considerarlo como una variable global a la que tienen acceso todos los objetos de la clase.
- Existe y puede utilizarse, aunque no existan objetos de la clase.
Para acceder a un atributo de clase se escribe:

Para acceder a un atributo de clase se escribe:
NombreClase.atributo

Un atributo estático puede ser accedido desde cualquier instancia de la clase, ya que es miembro de la propia clase.

Un atributo estático se reserva espacio para el mismo indistintamente que definamos un objeto de dicha clase. En caso de crear varios objetos de dicha clase todas las instancias acceden al mismo atributo estático.

Ejemplo:

Una vez definida la clase, los atributos y métodos estáticos se ponen directamente a la clase, fuera de la function() que hace de constructor

 var Clase = function(parametros) {
   ...
};
Clase.atributoEstatico = 2;
Clase.metodoEstatico = function() {
   alert('hola, soy el metodo estatico');
}

se utilizaría de la siguiente forma: 

 Clase.atributoEstatico; // Da 2
 Clase.metodoEstatico();  // Sale lo de hola soy el metodo estatico en el popup.

Comentarios

Entradas más populares de este blog

Clases Abstractas

Herencia

Interfaces