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

Pq não usou o "extends"?

Oi oi! o curso está sendo mto legal! Parabéns.

Uma dúvida: na criação de todas as classes no vídeo 6 da aula dois foi utilizado "extends" menos para a classe Transferencia. Pq? Quando usar o extends e quando nao usar?

Outra pergunta (desculpe se for idiota): o que é o extends? Um método? Um atributo?

2 respostas
solução!

Opa Leonardo, tudo bem com você?

Então, vamos para cada parte:

Foi utilizado "extends" menos para a classe Transferencia. Pq?

Então, a classe transferência é o que chamamos de Modelo, ou seja, é apenas um objeto com atributos e métodos, ela não é um widget ou retorna alguma coisa para o flutter

Ela é somente uma classe que dado os nosso atributos iremos criar um objeto do tipo transferência, que poderia por exemplo, ter algumas funções, ou coisa do gênero, isto é, estamos dando sentido lógico para os dados que recebemos através dos inputs

que é o extends? Um método? Um atributo?

Extends é utilizado na maioria das linguagens de programação para indicar uma herança, ou seja quando dizemos por exemplo que:

class ListaTransferencia extends StatelessWidget

Estamos dizendo que a classe que criamos deve herdar todos comportamentos e métodos que a classe StatelessWidgetcontém!

Além disso StatelessWidget, assim como o StatefullWidget, são classes abstratas, então além de nos prover atributos e métodos, ela também traz algumas obrigações, como por exemplo a reimplementação de métodos, por isso que sempre temos que fazer o:

@override
Widget build(BuildContext context){}

Pois todo mundo que herda de Stateless tem a obrigação de sobreescrever (override) o método build :)

Quando usar o extends e quando nao usar?

Então, é basicamente o que citei a cima, quando precisamos herdar métodos e atributos de uma outra classe precisamos utilizar o extends, quando temos uma classe que representa apenas um objeto, não precisamos :)

Poderíamos ter por exemplo uma classe por exemplo DOC, ao invés de ter que declarar novamente os atributos de numeroConta e valor poderíamos herdar eles de Transferencia

class DOC extends Transferencia

Acredito que todas as linguagens que você escolher aqui da Alura, quando chegar no tópico de orientações a objetos terá vários exemplos de situação em que podemos utilizar herança :)

Mas dentro do Flutter a gente pode perceber que sempre que queremos criar algum Widget iremos precisar herdar esses comportamentos, principalmente de Stateless ou Statefull :)

Compreendeu?

Abraços e Bons Estudos!

Muito show! Resposta mega completa professor.