ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Apunte_-_Atributos_y_Metodos_Estaticos_12-10-2010


Enviado por   •  13 de Enero de 2012  •  668 Palabras (3 Páginas)  •  383 Visitas

Página 1 de 3

Atributos y Métodos estáticos

Atributos Estáticos

Cuando se desea tener una variable que sea común a todos los objetos de una determinada clase, se define dicha variable como un atributo estático de la clase, a través de la palabra static.

Ejemplo:

La Figura 1 presenta la representación UML de una clase Microbus.

Figura 1. Representación UML de la clase Microbus.

La siguiente es la implementación parcial, en Java, de la clase anterior. Se puede observar el uso de una variable estática llamada valorPasaje, el valor de esta variable es común a todos los objetos de la clase, si alguno de ellos cambia el valor de la variable, ésta cambiará en todos los objetos a la vez.

public class Microbus {

// Atributos

private String patente;

private int nroAsientos;

private int nroAsientosOcupados;

private static int valorPasaje=400;

valorPasaje es un atributo estático y se ha inicializado en 400.

UNIVERSIDAD DEL BÍO-BÍO

FACULTAD DE CIENCIAS EMPRESARIALES

INGENIERÍA CIVIL EN INFORMÁTICA

2

// Constructor

public Microbus(String patente, int nroAsientos, float rendimiento) {

// Precondición: nroAsientos>0, rendimiento>0

this.patente = patente;

this.nroAsientosTotal = nroAsientos;

this.rendimiento = rendimiento;

nroAsientosOcupados = 0;

}

// Métodos

}

Cada vez que se cree un objeto el sistema asignará memoria para los atributos del nuevo objeto; sin embargo, el atributo valorPasaje existirá en una única posición de memoria. Es una variable global cuyo alcance está restringido a los objetos de la clase en la que se define.

Métodos Estáticos

Un método se define de tipo estático cuando se desea invocar sin que importe el objeto usado para hacer la llamada (pues el método es independiente del objeto) o bien cuando se desea hacer la invocación sin necesidad de crear un objeto a través del cual hacer la llamada. La característica anterior es semejante a la de las variables estáticas, por lo que ambos aspectos se relacionan. La utilidad de definir métodos de este tipo se explica a través de los ejemplos que siguen.

1. Si se deseara imprimir la variable valorPasaje del ejemplo anterior sería imposible, si no se define un método que retorne el valor que contiene (dado que es un atributo privado), pero tal método debe ser independiente de cualquier objeto de la clase Microbus, puesto que el atributo valorPasaje no está asociado a un objeto particular. A continuación se redefine la clase para incorporar dicho método estático.

Por otra parte, el valor del pasaje de un microbús cambia en el tiempo por lo que se requiere de un método que permita modificar dicho valor. Esto debe ser realizado a través de un método estático por la misma razón que se explicó en el párrafo anterior.

public class Microbus {

// Atributos

private int patente;

private int nroAsientos;

private float rendimiento;

private int nroAsientosOcupados;

private static int valorPasaje=400;

UNIVERSIDAD DEL BÍO-BÍO

FACULTAD DE CIENCIAS EMPRESARIALES

INGENIERÍA CIVIL EN INFORMÁTICA

3

// Constructor

public Microbus(int patente, int nroAsientos, float rendimiento) {

// Precondición: nroAsientos>0, rendimiento>0

this.patente = patente;

this.nroAsientosTotal = nroAsientos;

...

Descargar como (para miembros actualizados)  txt (5.4 Kb)  
Leer 2 páginas más »
Disponible sólo en Clubensayos.com