Vamos a ver los tipos enumerados están relacionados
con la clase Enum. Esta clase que viene en la API de Java permite crear objetos de tipo Enum o
tipos enumerados.
Algunas veces surge la necesidad de almacenar una serie de valores en una variable y no queremos que un futuro se puedan almacenar más valores o modificar los valores ya existentes. Vamos a verlo mediante un ejemplo creamos un nuevo archivo llamado Uso_tallas y lo vamos a crear en el paquete por defecto. En esta clase vamos a crear una variable llamada String llamada talla:
public class Uso_tallas {
public static void main(String[] args) {
String talla;
talla="Pequeña";
talla="Grande";
}
}
Y en un momento del código queremos que almacene la
talla Pequeña, luego más adelante del código queremos que esa variable sea una
talla Grande. Podemos sobreescribir la variable todas las veces que sea
necesario. Pero si en un momento del código cambiamos la variable:
public class Uso_tallas {
public static void main(String[] args) {
String talla;
talla="Pequeña";
talla="Grande";
talla="Rojo";
}
}
Le hemos dado un color a la variable talla y no tiene
mucho sentido porque rojo es un color no una talla. Ahí es donde surge la
necesidad de crear una variable donde se pueda almacenar una serie de valores
que tengan relación entre sí y no permita insertar un valor que no
tenga relación. Es aquí donde se utilizan los tipos enumerados. Los tipos
enumerados es una variable tipo objeto enum donde podemos almacenar un grupo de
valores y solo se podrá almacenar lo que declaremos y no podrán ser
modificados.
El tipo enumerado lo hemos de declarar fuera del método main:
public class Uso_tallas {
enum Talla {MINI, MEDIANO, GRANDE, MUY_GRANDE};
public static void main(String[] args) {
}
}
Una vez creado el tipo enumerado lo utilizamos de la
siguiente forma:
Podemos utilizar el tipo enumerado así:
public class Uso_tallas {
enum Talla {MINI, MEDIANO, GRANDE, MUY_GRANDE};
public static void main(String[] args) {
Talla s= Talla.MINI;
Talla m=Talla.MEDIANO;
Talla x=Talla.GRANDE;
Talla xxl=Talla.MUY_GRANDE;
}
}
Vamos a ver otro ejemplo en el que vamos a crear un
tipo enumerado el cual estemos llamando a un constructor, y en ese constructor
le pasamos un parámetro en la talla si es mediana o grande. y después mediante
un método Setter y Getter por un lado la abreviatura s a la talla mini, la
talla m a la talla mediana con un método Setter y con un método Getter que nos
devuelva la talla dependiendo de la abreviatura.
public class Uso_tallas {
enum Talla{
MINI("S"), MEDIANO("M"), GRANDE("L"), MUY_GRANDE("XL");
private Talla(String abreviatura) {
this.abreviatura=abreviatura;
}
private String abreviatura;
}
public static void main(String[] args) {
}
}
Ahora nos creamos un método Getter que nos devuelva la
talla:
public String
dameAbreviatura() {
return abreviatura;
}
Y ahora en el método main le vamos a indicar al
usuario que introduzca el valor de la talla por teclado para eso hemos de
importar la clase Scanner:
import java.util.Scanner;
Y escribimos lo siguiente:
Scanner sc=new Scanner(System.in);
System.out.println("Escribe
la talla: MINI, MEDIANO, GRANDE, MUY GRANDE");
String inserta_talla=sc.next().toUpperCase();
Talla la_talla=Enum.valueOf(Talla.class, inserta_talla);
System.out.println("Talla=
"+la_talla);
System.out.println("Abreviatura
"+la_talla.dameAbreviatura());
Creamos la variable inserta_talla y le añadimos la
función toUpperCase para que nos reconozca si introducimos la talla mayúscula o
minúscula.
El primer System.out nos va a imprimir lo que hemos
introducido por teclado y el segundo System.out va a llamar al método
dameAbreviatura que nos indicará la abreviatura que hayamos escrito. Si
ejecutamos:
2.16 MODIFICADORES DE ACCESO << >> 3.1 INTERFACES
No hay comentarios:
Publicar un comentario