Ver Mensaje Individual
  #5 (permalink)  
Antiguo 02/05/2012, 11:33
alexg88
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 8 meses
Puntos: 344
Respuesta: Problema con ejercicio de enumeraciónes

Los números se usan para dar valor a los campos de la enumeración.

La verdad es que las enumeraciones en java son un poco raras.

Por una parte, los valores de la enumeración son como atributos estáticos de la enumeración y, a su vez, los valores enumerados son de la propia clase enumerada.

Por ejemplo, el enumerado LuzSemaforo tiene tres valores (ROJO, VERDE, AMARILLO) que se acceden como LuzSemaforo.ROJO, ... y, a su vez, los valores son de tipo LuzSemaforo y, por tanto, son como objetos.

Por eso, al crear un constructor (o una especie de) puedes pasarle valores y guardarlos en atributos internos.


Para asignarle valores a cada valor, crea un setter:

Código Java:
Ver original
  1. public enum LuzSemaforo{
  2.     ROJO(10),
  3.     VERDE(10),
  4.     AMARILLO(2);
  5.    
  6.     private int duracion;
  7.    
  8.     LuzSemaforo(int duracion){
  9.         this.duracion = duracion;
  10.        
  11.     }
  12.  
  13.    public void setDuracion(int duracion){
  14.    this.duracion = duracion;
  15.    }
  16.  
  17.    public static void main(String[] args){
  18.      
  19.       LuzSemaforo.ROJO.setDuracion(15);
  20.    }