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

Dúvida sobre class dentro de map no projeto.

Pessoal, já estou no final deste curso mas quando comecei ele, rachei a cabeça pra entender isso aqui:

class BankController {
  final Map<String, Account> _database = {};

  addAccount({required String id, required Account account}) {
    _database[id] = account;
  }

Quando finalmente entendi (eu acho que entendi), meu cérebro quase explodiu!

Preciso que me ajudem para eu ver se entendi mesmo. Não estamos criando "objetos" com a classe Account, né?

São apenas valores que carregam as informações estabelecidas pela classe Account e todos são simplesmente nomeados como "account" mas pouco importa o nome pois sempre estarão associados ao "id" que no caso é a key desse value!?

2 respostas
solução!

Boa noite! Eu iniciei o curso de Dart recentemente. No entanto, acredito que posso contribuir, pois tenho algum conhecimento no paradigma oo. Ressalto que posso cometer algum equívoco caso o assunto seja específico deste curso.

Acredito que aquilo que você menciona como "apenas valores que carregam as informações estabelecidas pela classe" são, na verdade, os objetos da classe Account. Para qualquer classe, o nome atribuído ao objeto é relativamente insignificante (coloco entre aspas, pois é necessário escolher um nome legível para os seres humanos que leem o código).

O que o método addAccount faz é criar um dicionário no qual um ID arbitrário é a chave e um objeto da classe Account é o valor. Em outras palavras, para a existência de um objeto da classe Account, não é necessário um ID. No entanto, a classe BankController utiliza um objeto Account para atribuir um ID a ele.

Em resumo, a classe Account cria um objeto Account que será utilizado pela classe BankController.

Entendi @Lucas Oliveira da Silva Vou ler mais artigos sobre map, nunca imaginei que era algo tão versátil assim.

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