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

Dúvida no Ex. 1 da Aula 7 - Relacionamentos, otimizando N+1 e ferramentas ORM

Porque os atributos de Categoria são declarados como final?

3 respostas

Oi Helder, tudo bem? O 'final' é usado para que não se permitam modificações no valor do atributo (neste caso). Em metodos é para que não seja possivél reescre-los, em casos de herança, em resumo é isso.

Mas neste caso, não foi intenção do instrutor, foi o Eclipse que declarou o atributo dessa forma. Perceba que, mesmo não tendo sido intencional, faz sentido que seja assim, certo?

Espero ter ajudado. Bons estudos.

solução!

Oi Wanderson, obrigado. Ficaram alguma dúvidas:

1)Neste caso o final só faz sentido nos atributos porque o problema não pede que seja permitida a edição do nome da categoria por exemplo? 2) E no caso do final para a List produtos você não pode atribuir outra List para o atributo mas pode adicionar produtos a ArrayList? Não é possível alterar a referência mas é possível alterar o objeto, é isso?

Sim, até onde sei é isso mesmo. Atributos com final uma vez inicializados, não podem ter seus valores modificados. Em ArrayList, sim, você pode adicionar produtos, mas não pode trocar a referencia. Em casos de String, como essas são imutáveis, não podem ser modificadas.

Vale fazer alguns testes caso queira praticar os conceitos.

Bons estudos.