2
respostas

[Dúvida] Não entendi o que as linhas de código abaixo fazem

Não entendi o código de exemplo, abaixo:

void main() {
TiposConta.tiposContasAtivos();
}

enum TiposConta{
salario,
popanca,
corrente,
investimentos;

static void tiposContasAtivos(){
print("Conta Salário, Conta Poupança, Conta Corrente e Conta Investimentos.");
}
}

2 respostas

Olá, Cristina. Como vai?

Entender o uso de recursos avançados dentro de estruturas como o enum pode ser um pouco confuso no início, mas você vai ver que a lógica por trás disso é muito útil no dia a dia com Dart e Flutter!

O que esse código está demonstrando é uma funcionalidade que permite que os Enums em Dart se comportem de forma muito parecida com classes normais, podendo conter métodos (funções) e variáveis dentro deles.

Vamos quebrar o código em partes para entender exatamente o que está acontecendo:

1. O que é o enum TiposConta?

enum TiposConta {
  salario,
  popanca,
  corrente,
  investimentos;

O enum (enumeração) serve para criar um conjunto fixo de valores constantes. Imagine ele como uma lista fechada de opções que seu sistema aceita. Nesse caso, as opções de contas disponíveis são: salario, popanca, corrente e investimentos. Note que usamos um ponto e vírgula (;) após o último item para avisar ao Dart que vamos começar a escrever funções ali dentro.

2. O que faz o método static void tiposContasAtivos()?

  static void tiposContasAtivos() {
    print("Conta Salário, Conta Poupança, Conta Corrente e Conta Investimentos.");
  }
}

Aqui está o grande segredo! A palavra-chave static (estático) significa que essa função pertence à estrutura TiposConta como um todo, e não a um tipo de conta específico (como apenas a conta corrente).

Isso quer dizer que você não precisa criar ou selecionar uma conta específica para usar essa função. Ela funciona como uma ação utilitária diretamente ligada ao grupo de contas. Dentro dela, há apenas um comando print que exibe o texto listando as contas.

3. O que acontece na função main()?

void main() {
  TiposConta.tiposContasAtivos();
}

A função main é o ponto de partida de qualquer programa em Dart. Quando o programa roda, ele executa a linha TiposConta.tiposContasAtivos();.

Como o método é estático, nós o chamamos escrevendo o NomeDoEnum.nomeDoMetodo(). Ao rodar essa linha, o programa vai lá dentro do enum, executa a função e exibe no terminal a mensagem:
Conta Salário, Conta Poupança, Conta Corrente e Conta Investimentos.

Resumo prático

Esse código serve para agrupar uma função utilitária dentro do próprio enum que faz sentido estar ali. Em vez de criar uma função solta no meio do código para listar os tipos de contas ativos do banco, você a coloca direto dentro de TiposConta, deixando o projeto muito mais organizado e fácil de manter!

Espero que possa ter lhe ajudado!

Execelnte resposta.