Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Construtor e this

Na resposta do exercício temos o trecho:

Quando temos um construtor na classe filha que recebe uma quantidade de parâmetros diferentes do construtor da classe pai, para que o this seja inicializado com um valor, precisamos chamar o construtor da classe pai, passando os parâmetros que ela precisa. Corrigindo nosso código:

Eu não entendi porque eu sou obrigado a chamar super para inicializar o this. O this não pode simplemente referenciar a classe filha?

1 resposta
solução!

Sim, você está certo. O this é apenas na classe do próprio Component.

Porém, quando uma classe depende de uma classe pai, em seus parâmetros, você já "copia" o construtor dela utilizando super no lugar de repetir as mesmas instâncias na classe filha.

Faz o teste sem o super. Vai ter que instânciar tudo de novo. Caso a classe pai não tiver nem construtor, não há necessidade do super.

Na verdade, o trecho da explicação do professor diz isso:

class Pai{
    constructor(parametro1, parametro2){
       ...
    }
}

class Filho extends Pai{
    constructor(parametro1){
        super(parametro1, 'passa o valor do parâmetro2 para não gerar erro');
    }
}

Imagine que você está instânciando a classe Pai :).

Obs: Você pode usar o this a qualquer momento.

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