Continuamos con los enum o numeradores, que básicamente son parecido a las clases.
Es una estructura que contiene valores constantes, es decir, atributos del tipo final.
Pero varios ideal, por ejemplo, para los colores.
Entonces la idea es modificar nuestro ejemplo que tenemos con constantes, con los colores del auto
y llevar esto a numeradores.
Pero antes acá me faltó rojo.
Un detalle.
Entonces bueno, automóvil, punto color rojo.
Ese talle me faltó de la clase anterior.
Pero bien, continuemos entonces los enum.
Bien.
Vamos a crear un enum, un click derecho new yaba class y acá seleccionamos enum.
Acá tenemos clases, interfaces e numeradores.
Luego marcamos un nombre color.
Bueno, igual que la clase comienza con mayúscula.
Exactamente la misma nomenclatura, mismo estándar y palabra compuesta también se separan con mayúscula,
con kamma, el CAIS y tipicamente en singular.
Igual que las clases representan una sola entidad.
Entonces color?
Ok.
La diferencia?
Bueno, un public en vez de class es en un color, pero si se fijan public class automóvil acá es public
en un color.
Entonces un numerador es una colección de valores constantes o atributos constantes como estándar siempre
con mayúsculas.
Se escriben con mayúscula.
Por ejemplo, rojo koma.
Podemos escribir hacia el lado o hacia abajo.
Queda mejor hacia abajo amarillo y así por a color azul.
Y vamos a agregar naranjo.
Y al final el punto y coma y listo.
Acá tenemos el numerador.
Bueno, un conjunto de constantes que a su vez el valor es el mismo nombre de la constante.
Por lo tanto, el contenido de rojo es rojo en mayúscula.
El contenido de la constante amarillo es amarillo y así por cada uno.
Así de simple.
Entonces ahora la podemos utilizar.
Bueno, acá nos dice que no es necesario el punto y coma, no siempre.
Después vamos a ver si queremos implementar, por ejemplo, un constructor o algún atributo para dar
mayor funcionalidad.
Después vamos a ver.
Necesitamos el punto y coma.
Pero por ahora ahí está bien.
Ahora lo podemos utilizar.
Entonces, bueno, tendremos que cambiar el tipo, porque acá el color es del tipo string.
Tendré que ser del tipo color del numerador.
Por qué?
Por ejemplo, si quiero colocar acá el color blanco usando el enum.
Bueno, uso primero el nombre color del numerador, entonces el color punto y acá el atributo constante
o final se fijan, está en amarillo porque es un final, es un final con el nombre rojo y a su vez contiene
el valor también rojo con el mismo nombre, entonces el nombre del atributo, pero también de su valor
acá blanco.
Se fijan acá marca error.
Por qué?
Por qué lo que asigna es del tipo color desde el tipo del numerador y requiere un tipo string?
Entonces eso es lo que tenemos que modificar en la clase automóvil.
Cambiar el tipo de auto del atributo color.
Bien.
Y se utiliza igual que una constante.
Bueno, de hecho es una constante.
Es un atributo estático y final.
Entonces se accede con el nombre de la clase.
Perdón del numerador color del en un punto el nombre de la constante o de la opción.
En este caso, el color llega lo mismo color rojo.
Se fijan y por cada uno color gris, marca error, pero no se preocupen, porque después lo vamos a
cambiar.
Color.
Gris, acá, amarillo.
Color amarillo.
Faltaría acá color azul.
Pero acá sería la patente color patente.
Pero vamos a usar lo mismo.
Y creo que estamos listos.
Bien, entonces ahora nos vamos a automóvil y en vez de ese del tipo string color.
Color es del tipo color.
Y por defecto, color punto gris.
Usando él el numerador color, color patente, también color en vez del tipo string.
Color, punto naranjo.
Se fijan y lo estamos parametrizar.
Y cambia los tipos, los método jet set y constructor.
Por ejemplo, en el constructor acá.
E Co-lor.
Acá también está el tipo color del numerador y este es el nombre del atributo o argumento el constructor.
Recuerden que los nombre de enumeraré comienzan con mayúscula, igual que en las clases.
Yeta quet color rotondo rotonda un tipo color, un enum set color asigna un color del tipo color y acá
también guet color patente y set color patente.
Y eso es todo.
Nos vamos a ejemplo tomóvil acá, creo.
Acá tenemos que cambiar porque lo teníamos con este link se guardan entonces para que no dé error,
lo modificamos color, punto blanco.
Gris.
Y listo.
Eso sería.
Veamos qué más automóvil cree que está todo bien?
Sí, color naranjo, color gris.
Todo perfecto.
Vamos a probar.
Vamos a levantar.
Si se fijan, el valor aparece con mayúscula, porque lleva el nombre de la constante.
Azul se fija en gris y así.
Azul, rojo.
Blanco, pero también se podría personalizar para que no sea el mismo nombre que lleva la constante
o el atributo, entonces para cambiar este con un valor más personalizado, para que sea rojo por ejemplo
en minúscula, comenzando mayúscula, pero escrito en minúscula, igual que amarillo.
Bueno, para eso voy a agregar punto y coma.
Vamos a bajar y vamos a tener un atributo del tipo final private final.
Pero no es estático, tiene que ser constante del tipo string color, porque acá vamos a guardar el
color más personalizado o el nombre color.
Entonces para eso necesitamos pasarlo acá como constructor, como argumento, pero para eso necesitamos
un constructor.
Entonces voy a crear un constructor.
Con Giné doit?
Constructor color y aparece color.
Le colocamos OK.
Y lo que hace es pasar el color por argumento y lo asigna al atributo, al atributo color que final.
No se puede modificar.
Es constante, pero es propio de la referencia del enum.
Acá marca error y está bien.
Por qué tenemos que pasar el valor del color del tipo string?
Se fijan porque acá lo tenemos como tipo string.
Esto es un argumento.
Esto acá sería como invocar un constructor, pero el enumerar que lleva exactamente el mismo nombre
que la clase, es decir que el numerador entonces acá rojo.
Amarillo Yeezy por cada uno.
Incluso acá puede ser gris oscuro.
No podemos personalizar acá naranja.
Se fijan.
Y también podríamos tener mtodos yeta.
Entonces, por acá generate?
Getter Márcame co-lor.
Parecía una clase, pero siempre los atributos son constantes, son del tipo final y por cada constante
o opción le podemos dar un valor personalizado.
Bueno, al final es un atributo.
También podemos pasar más de un parámetro, pero para el caso el color con el nombre está bien.
Perfecto.
Más que suficiente.
Pero también podemos tener varios parámetros o argumentos.
separÃ por Koma y por cada uno una constante finar un atributo final y lo inicializamos en el constructor
y lo pasamos acá por argumento con la coma.
Entonces por cada uno.
Entonces ahora en el ejemplo automóvil, no en el otro.
En el Static este lo voy a cerrar en el Static acá donde se imprime, por ejemplo, el color patente.
Si quiero el valor GT color o el nombre que le dimos personalizado que sería rojo con minúscula, se
fijan gris oscuro.
En fin, lo mismo acá.
Claro, porque si levanto Batres mayúscula.
Por ejemplo, acá azul, amarillo.
Se fijan?
Azul?
Gris.
Bueno, está en mayúscula.
Excepto este último, lo pusimos en minúscula con el billete acá Jetró el patente, pero Calí invocamos
el Wyeth color.
Entonces, acá en detalle tendremos que ser algo parecido color, punto.
Qué color?
Y lo mismo color patente.
Punto.
Guet.
Color.
Y ahora sí que si volvemos, levantamos.
Iba a estar todo minuscula.
Se fijan todo minuscula.
Ya está bien parametrizar utilizando enum.
Ahora, qué pasa si hago lo siguiente?
Vuelvo automóvil.
Voy a quitar el color y también acá también lo quito acá.
Perfecto.
Bueno, obviamente levantamos y en mayúscula.
Tal como lo teníamos ahora, qué pasa si voy al enum?
Clic derecho.
Generar.
Tu estric?
Color.
Pero solamente que retorne el color nada más o dicho color, esto lo quito, disputo color.
Bueno, como es el tuit Streak, cuando se imprima el enum al finalmente va a mostrar esta representación
por defecto muestra en mayúscula.
Pero si cambiamos o implementamos el toString que va a mostrar todo acá, el valor que le dimos.
Levantamos.
Y de forma automática, transparente, solamente con tus strength.
Ahora parece bien y me siento en mayúscula, pero lo demás en minúscula, que sería el valor que le
dimos a la constante color.
Se fija gris oscuro, ya no es gris, sino el gris oscuro, azul, la patente rojo blanco.
Otra forma de implementar un conjunto de valores constante.
Similar a como lo teníamos acá anteriormente, con pura constante.
Bueno, son dos forma que lo podemos implementar, pero con el numerador queda más acoplado y más ordenado.
Queda en una estructura, en un numerador separado de la clase automóvil se fijan que un poco más organizado,
pero cualquiera de las dos formas estaría correcto.
Ahora, sin duda con un enum sin duda queda mejor.
Y recuerden que el toString es para dar una representación al valor de cada constante y le indicamos
que sea el color o este nombre que estaba pasando o este valor que estamos pasando por argumento.
Bien.
Continuamos en la siguiente clase.