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
Publicar un comentario