Enums aprimorados com campos e métodos
Associe dados e comportamentos a cada valor.
Enums aprimorados com campos e métodos é uma aula grátis de Dart Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Dart Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Dart Academy inclui 4 aulas no total.
As enumerações podem carregar dados
O Dart moderno permite que cada membro de uma enumeração mantenha seus próprios dados. Essas são enumerações aprimoradas, que transformam rótulos simples em valores completos.
Adicionando um campo
Declare um campo final na enumeração e passe um valor para cada membro. Agora, cada membro carrega esses dados adicionais.
enum Planet {
earth(9.8), mars(3.7);
final double gravity;
}Um construtor constante é obrigatório
Enumerações aprimoradas precisam de um construtor constante para definir seus campos. Ele é executado uma vez para cada membro enquanto os valores são criados.
const Planet(this.gravity);Os membros passam argumentos ao construtor
Os valores entre parênteses são argumentos do construtor. terra(9.8) significa que terra é criada com a gravidade definida como 9.8.
earth(9.8), mars(3.7);Lendo o campo de um membro
Acesse os dados pelo membro, como faria com qualquer propriedade. Cada membro retorna seu próprio valor armazenado.
print(Planet.earth.gravity); // 9.8Vários campos
Uma enumeração aprimorada pode conter vários campos ao mesmo tempo. Liste-os no construtor e forneça cada valor para cada membro.
enum Coin { penny(1, "1c"), dime(10, "10c"); }Adicionando um método
Enumerações aprimoradas também podem definir métodos. O método pode usar os campos do membro, dando a cada valor um comportamento real.
double weightOf(double mass) => mass * gravity;Chamando um método de enumeração
Chame o método em qualquer membro como faria com um objeto comum. Ele será executado usando os valores de campo próprios desse membro.
print(Planet.mars.weightOf(70)); // 259.0Adicionando um acessor
Um acessor calculado também funciona, retornando um valor derivado dos campos sem armazenar nada novo.
bool get isStrong => gravity > 5;Elas continuam sendo enumerações
Apesar do poder adicional, as enumerações aprimoradas mantêm valores, índice e nome. Você não perde nada ao adicionar campos e métodos.
print(Planet.values.length); // 2Quando aprimorar
Use uma enumeração aprimorada quando cada opção tiver dados relacionados, como uma cor com um código hexadecimal. Isso mantém os dados e a opção juntos.
Verificação rápida
O que uma enumeração aprimorada com campos sempre precisa incluir?
Recapitulação: enumerações aprimoradas
Você aprendeu que enumerações aprimoradas contêm campos e métodos por meio de um construtor constante, fazendo com que cada membro carregue seus próprios dados e comportamento. 🚀
Perguntas Frequentes
A aula “Enums aprimorados com campos e métodos” é grátis?
Sim — o texto completo de “Enums aprimorados com campos e métodos” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Dart Academy, atualize para CoddyKit PRO. O curso de Dart Academy inclui 4 aulas no total.
O que vou aprender em “Enums aprimorados com campos e métodos”?
Associe dados e comportamentos a cada valor. Você pratica Dart Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Dart Academy?
Nenhuma experiência prévia é necessária. Dart Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Enums aprimorados com campos e métodos”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Dart Academy?
Sim. Cada aula de Dart Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Declarar e usar enums simples
- Valores de enum, index e name
- Enums aprimorados com campos e métodos
- switch exaustivo sobre enums