Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

método toString

Por que são usadas as { } ? É igual ao JS, tipo interpolação? E o $ é por isso tbm? Outra coisa, queria uma ajuda pra achar na documentação, tem alguma implementação assim? Só achei assim:

https://api.flutter.dev/flutter/dart-core/num/toString.html

@override
  String toString() {
    return 'Transferencia{valor: $valor, numeroConta: $numeroConta}';
  }
2 respostas
solução!

Olá Gisele, tudo bem com você?

Em relação as { }, você quis dizer aqui:

'Transferencia{valor

Caso afirmativo, na verdade é apenas um padrão da comunidade, para indicar que começará as informações da classe :)

 É igual ao JS, tipo interpolação? E o $ é por isso tbm?

Isso sim! Quando fazemos $valor estamos fazendo uma interpolação de strings, e quando queremos acessa um atributo de uma classe fica mais parecido com o javascript, por exemplo, se quisermos imprimir o valor de um objeto do tipo Transferência, seria da seguinte maneira:

${objTransferencia.valor}
tem alguma implementação assim? Só achei assim:

Acredito que na documentação não tenha nenhum exemplo muito bom, o que você mandou é o método toString aplicado para números, para todas as classes padrões já há a sobrescrita do toString :)

Esse método é muito comum em linguagens como C#, e Java, ainda que tenhamos ele dentro do javascript, mas quase nunca é utilizado :)

Acontece que todos objetos tem esse método, entretanto o padrão de implementação, é uma mensagem muito genérica, por exemplo:

I/flutter (25624): Instance of 'Transferencia'

Isso porque não há como o dart saber que informações queremos que sejam impressas pela classe, então fica a cargo do programador fazer essa sobrescrita indicando os atributos e valores que devem ser impressos, utilizando essa convenção abaixo, ou não :)

@override
String toString() {
    return ' Classe {  atributo: $valor } '

Conseguiu compreender ? Qualquer coisa estou a disposição :)

Abraços e Bons Estudos!

Obrigada, era isso mesmo. Se não me engano o Python tbm tem situações que ele retorna o objeto e é necessário usar o "toString" dele. Eu estou aprendendo por causa da faculdade.