Olá Vinicius, tudo bem com você?
Nao teriamos que atribuir a essa referencia um objeto do tipo Transferencia antes de usa-la? Algo do tipo final Transferencia _transferencia = new Transferencia();?
Então, o primeiro ponto é que estamos dizendo que esse objeto sera instanciado pelo construtor quando fazemos:
ItemTransferencia(this._transferencia);
Então teoricamente quando criarmos o ItemTransferencia
teoricamente já iremos estar atribuindo uma referência do tipo Transferencia
para a nossa variável
Se fizéssemos final Transferencia _ transferencia = new Transferencia()
Teríamos um problema, pois a transferência é final
, portanto, imutável, e dentro do construtor iriamos tentar passar outro valor ( dado que quando fizemos new Transferencia()
atribuímos um valor), o que geraria um erro de compilação :)
Agora um outro comentário em relação ao Dart
, apenas uma dica da linguagem :)
Não é recomendado utilizar a palavra reservada new
para criar instâncias de objeto, é uma das "regrinhas" do Dart Effective"
:
Então em um código normal, por exemplo quando criamos uma instância de transferência o correto, é fazer:
Transferencia transf = Transferencia()
ou até:
final transf = Transferencia()
Isso pode parecer estranho de primeiro momento, mas quando estamos criando os widgets
como Column
, Row
estamos instanciando classes e nunca utilizamos o new
, então para as nossas próprias classes de modelo
, o ideal é evitar também :)
Conseguiu Compreender?
Abraços e Bons Estudos!