Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
clase:daw:prog:2eval:enums [2022/12/27 08:50]
cesguiro [Creación de enumerados]
— (actual)
Línea 1: Línea 1:
-====== 10 - Enumerados ====== 
- 
-Los **enumerados** son una construcción del lenguaje introducida en la versión 5 de Java. Se trata de clases especiales que nos sirven para definir listas enumeradas de constantes. La única restricción que tiene los enumerados sobre las clases es que las enumeraciones no se pueden extender ya que implícitamente toda enumeración está extendiendo a la clase [[https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Enum.html|enums]]. Además, el ámbito de los constructores debe ser //private// o de //paquete//. 
- 
- 
- 
-===== Creación de enumerados ===== 
- 
-Para crear una enumeración lo hacemos casi igual que una clase, con la diferencia que utilizamos la palabra reservada **enum**: 
- 
-<sxh java> 
-public enum createEnum { 
-     
-} 
-</sxh> 
- 
-Una vez creado, podemos ir añadiendo constantes a nuestra enumeración separadas por coma: 
- 
-<sxh java> 
-public enum createEnum { 
-    ENUM1, 
-    ENUM2, 
-    ENUM3 
-} 
-</sxh> 
- 
-Por ejemplo, vamos a crear un enumerado con diferentes modelos de coches de la marca //Kia//: 
- 
-<sxh java> 
-public enum KiaModel { 
-    NIRO, 
-    XCEED, 
-    SPORTAGE 
-} 
-</sxh> 
- 
-A partir de ahora, ya podemos usar nuestro //enum// para limitar las opciones del modelo a la hora de crear coches en nuestro sistema. 
- 
-===== Uso de los enumerados ===== 
- 
-Una vez tenemos creado nuestro //enum//, para usarlo es tan sencillo como hacer referencia al nombre de la clase y la constante que queramos usar. Por ejemplo, creamos una clase llamada //Kia// con el siguiente código: 
- 
-<sxh java> 
-public class Kia { 
- 
-    KiaModel model; 
- 
-    public Kia(KiaModel model) { 
-        this.model = model; 
-    } 
- 
-    public KiaModel getmodel() { 
-        return model; 
-    } 
- 
-    public String toString(){ 
-        return "Kia " + this.getmodel(); 
-    } 
-} 
-</sxh> 
- 
-Fíjate que el atributo //model// de nuestra clase es de tipo //KiaModel// (el //enum// que hemos creado antes) y no de tipo //String//. Ésto nos permite limitar los modelos de los coches a los que nosotros hemos definido. A parte de eso, la clase tiene el constructor donde le pasaremos el modelo, el //getter// del modelo y el método //toString()// para mostrar el objeto por pantalla. 
- 
-Ahora, en nuestra clase principal tenemos que usar alguno de los valores del enum //KiaModel// cuando queramos crear un coche: 
- 
-<sxh java; highlight:[5,6,7]> 
-public class App { 
-     
-    public static void main(String[] args) { 
-         
-        Kia niro = new Kia(KiaModel.NIRO); 
-        Kia sportage = new Kia(KiaModel.SPORTAGE); 
-        Kia xceed = new Kia(KiaModel.XCEED); 
- 
-        System.out.println(niro); 
-        System.out.println(sportage);     
-        System.out.println(xceed); 
-    } 
-} 
-</sxh> 
- 
-<sxh base> 
-Kia NIRO 
-Kia SPORTAGE 
-Kia XCEED 
-</sxh> 
  
  • clase/daw/prog/2eval/enums.1672127425.txt.gz
  • Última modificación: 2022/12/27 08:50
  • por cesguiro