1
resposta

O exemplo da aula da erro

void main(){
  ContaCorrente conta = ContaCorrente();
  conta.titular = "Gabriel";
  conta.agencia = 123;
  conta.conta = 1234;
  conta.saldo = 150.0;

  print("Titular: ${conta.titular}");
  print("Agência: ${conta.agencia}");
  print("Conta: ${conta.conta}");
  print("Saldo: ${conta.saldo}");
}

class ContaCorrente {
  String titular;
  int agencia;
  int conta;
  double saldo;
}
banco.dart:15:10: Error: Field 'titular' should be initialized because its type 'String' doesn't allow null.
  String titular;
         ^^^^^^^
banco.dart:16:7: Error: Field 'agencia' should be initialized because its type 'int' doesn't allow null.    
  int agencia;
      ^^^^^^^
banco.dart:17:7: Error: Field 'conta' should be initialized because its type 'int' doesn't allow null.      
  int conta;
      ^^^^^
banco.dart:18:10: Error: Field 'saldo' should be initialized because its type 'double' doesn't allow null.
  double saldo;
         ^^^^^

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá Gabriel, tudo bem?

Com a atualização do Dart as váriaveis não podem só ser declaradas, elas precisam ser inicializadas também. É por isso que está dando esse erro. Tem duas formas de consertar isso, veja:

Forma 1:

class ContaCorrente {
  String titular = '';
  int agencia = 0;
  int conta = 0;
  double saldo = 0.0;
}

Forma 2:

class ContaCorrente {
  late String titular;
  late int agencia;
  late int conta;
  late double saldo;
}

Qualquer uma das duas formas deverá resolver seu problema, escolha a que achar mais conveniente. Qualquer coisa é só falar ;)

Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software