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

This substitui o Super

Como visto anteriormente o This faz referência ao atributo da classe em questão, porém, qual a necessidade do instrutor ter utilizado o Super já que o Extends trouxe os atributos da classe superior? Utilizando o This no código obtive o mesmo resultado.

2 respostas
solução!

Fala Rodrigo, tudo bem ?

Na verdade o this não faz referência aos atributos da classe. O this faz referência sempre ao objeto corrente que está sendo manipulado no momento das chamas. A partir do this dentro de uma classe podemos acessar os atributos, métodos, etc da classe.

O super já é diferente. Quando trabalhamos com herança os atributos e métodos (ambos, já que tudo é herdado) não são trazidos da classe pai/mãe. Fisicamente não temos numa classe filho os atributos do pai. Eles continuam na classe superior; a ideia é que em tempo de execução (por baixos dos panos quando a jvm estiver executando as coisas) ela na verdade sabe (por causa do extends) que as classes tem relação de pai/filho com herança.

O super nesse contexto serve justamente pra podermos inferir dentro de uma classe filho quando é necessário trabalhar reutilizando a implementação base da classe super e não os próprios detalhes de implementação presentes dentro da classe.

Espero ter ajudado no pensamento.

Abraço!

Entendido, muito obrigado.