Enumeraciones
Clase 14 de 23 • Curso de Dart desde Cero
Contenido del curso
Clase 14 de 23 • Curso de Dart desde Cero
Contenido del curso
Carlos Alberto Baltazar Hinojosa
Melvin Salas
Jorge Enrique Pérez Escobar
Emmanuel Rodríguez
Jozek Andrzej Hajduk Sánchez
William Condori
Giovanny Alexander Nader Cardozo
Bryan Alexander Tipantuña Vargas
Carlos Ortega
Abraham Contreras
Usuario anónimo
Cristian Caled Flores Vasquez
Renzo Perez Bartra
J Maycol Valencia
Andres Elias Mendoza Zuluaga
Celeste Sierra
Albin Anthony Hinostroza Macavilca
Osw Martinez
JOSE DAVID PUELLO AVILEZ
Jonathan Rocha
Guadalupe de jesus Garcia rodriguez
Luis Enrique Cabrera Avilán
En la clase dice que habrá otros cursos más avanzado sobre Dart, pero eso es falso. Yo esperaba que fuera cierto. :(
Estamos trabajando en ellos ;)
Espero con ansias el curso avanzado de Dart.
Enumeraciones
ℹ️ Definición Son un tipo especial de clases que suele representar una entidad abstracta que da lugar a una categorización o etiqueta por tipo.
. Los enumerados extienden de la clase Enum, por lo que pueden asumir roles de jerarquización en clases abstractas y mixins. .
✨ Concepto clave Los enumerados son entidades selladas por lo que no pueden generar subclases, implementación o instancias.
. Una enumeración se define como clase de la siguiente forma:
enum Color { RED, GREEN, BLUE } enum Category { ELECTRONICS, MUSICAN, 'ELEMENTARY FOOD' , OTHER_PRODUCTS }
Su uso, es a través de variables estáticas indexadas con el operador . , por ejemplo:
final favoriteColor = Color.GREEN; if (favoriteColor == Color.GREEN) { print('Your favorite color is Amazul ✨'); }
Adicionalmente, un Enum posee semejanzas con respecto a un arreglo. Una enumeración posee índice, getter.
List<Color> colors = Color.values; print(Color.RED.index); // 0 print(Color.RED.name); // RED
enum Time { Sunny, Rainy, Clear } void main() { Time time = Time.Sunny; switch (time) { case Time.Sunny: print("It is sunny"); break; case Time.Rainy: print("It is rainy"); break; case Time.Clear: print("It is clear"); break; } }
Pueden consultar en la documentación de dart el tipo Enum
https://dart.dev/guides/language/language-tour#enumerated-types
Dónde está los recursos que indican en la clase?
¿Disculapa conde esta el link a la documentaciòn de dart?
que es switch?
void main() { //Declaring and initializing my enum variable Weather todayIs = Weather.Windy; switch (todayIs) { case Weather.Sunny: print("Today's sunny!"); break; case Weather.Cloudy: print("Today´s cloudy!"); break; case Weather.Windy: print("Today's windy!"); break; case Weather.Rainy: print("Today's is freaking awesome! it´s rainy!"); break; } ; } //Enum: it´s a new custom-made data type (needs to created outside main function since Enums are new classes) enum Weather { Sunny, Cloudy, Rainy, Windy }
para dejar que nos lance warning
void main() { //Declaring and initializing my enum variable Weather todayIs = Weather.rainy; switch (todayIs) { case Weather.sunny: print("Today's sunny!"); break; case Weather.cloudy: print("Today´s cloudy!"); break; case Weather.windy: print("Today's windy!"); break; case Weather.rainy: print("Today's is freaking awesome! it´s rainy!"); break; } } //Enum: it´s a new custom-made data type (needs to created outside main function since Enums are new classes) enum Weather { sunny, cloudy, rainy, windy }
Algo que noté al momento de aplicar el código es que Soleado, Lluvioso y Despejado deberían ir en minúscula, ya que usamos la nomenclatura camelCase, la lógica debería ser soleado, lluvioso, despejado. El código iría así:
void main() {
Tiempo tiempo = Tiempo.despejado;
switch(tiempo) {
case Tiempo.soleado:
print("El tiempo está soleado");
break;
case Tiempo.lluvioso:
print("El tiempo está lluvioso");
break;
case Tiempo.despejado:
print("El cielo está despejado");
break;
}
}
enum Tiempo { soleado, lluvioso, despejado }
Mi aporte agregando :
void main(){ Tiempo tiempo = Tiempo.Caluroso; switch(tiempo){ case Tiempo.Soleado: print('Tiempo soleado'); break; case Tiempo.Despejado: print('Tiempo Despejado'); break; case Tiempo.Lluvioso: print('Tiempo Lluvioso'); break; case Tiempo.Caluroso: print('Tiempo Caluroso'); break; default: print('Termometro aberiado, llamar a soporte'); } } enum Tiempo { Soleado, Lluvioso, Despejado, Caluroso }
Hola, Hice el codigo y note que aparecia un error el el switch, ya que dice que se debe evaluar todos los casos de la variable enum Tiempo, ya que de lo contrario no te deja ejecutar el codigo.
void main() { Tiempo tiempo = Tiempo.Despejado;
switch(tiempo) { case Tiempo.Soleado: print("El tiempo está soleado"); break; case Tiempo.Lluvioso: print("El tiempo está lluvioso"); break; case Tiempo.Despejado: print("El cielo está despejado"); break; } }
enum Tiempo { Soleado, Lluvioso, Despejado }
//enum
//Métodos para Salir de Deudas
void main() {
Metodo metodo = Metodo.bolaNieve;
switch(metodo){
case Metodo.bolaNieve:
print("El metodo es BolaNieve");
break;
case Metodo.avalancha:
print("El metodo es Avalancha");
break;
case Metodo.mix:
print("El metodo es Mix");
break;
}
}
enum Metodo {bolaNieve, avalancha, mix}
My code:
EJERCICIO DE LA CLASE:
void main() { Tiempo tiempo = Tiempo.Soleado; switch (tiempo) { case Tiempo.Soleado: print("El tiempo está Soleado"); break; case Tiempo.Despejado: print("El tiempo está Despejado"); break; case Tiempo.Nublado: print("El tiempo está Nublado"); break; case Tiempo.Opaco: print("El tiempo está Opaco"); break; case Tiempo.Lluvioso: print("El tiempo está Lluvioso"); break; case Tiempo.Granizo: print("El tiempo está Granizando"); break; } } enum Tiempo { Soleado, Despejado, Nublado, Opaco, Lluvioso, Granizo }
void main() { Tiempo tiempo = Tiempo.Frio;
switch (tiempo) { case Tiempo.Soleado: print("El tiempo está soleado"); break; case Tiempo.Lluvioso: print("El tiempo está lluvioso"); break; case Tiempo.Despejado: print("El cielo está despejado"); break; case Tiempo.Frio: print("El cielo está frio"); break; } }
enum Tiempo { Soleado, Lluvioso, Despejado, Frio }
enum Time { Sunny, Rainy, Clear }
void main() { Time time = Time.Sunny;
switch (time) { case Time.Sunny: print("It is sunny"); break; case Time.Rainy: print("It is rainy"); break; case Time.Clear: print("It is clear"); break; } }