1
resposta

Declaração de propriedades em subclasses e métodos

Quando eu dou um extends em uma classe pai, no construtor eu preciso somente declarar as propriedades que serão herdadas? As mesmas propriedades que eu colocar no construtor eu tenho que necessariamente também colocar no super() ?

Ao herdar de um classe pai, os métodos não precisam nunca ser declarados ?

1 resposta

Oi, Isabela, tudo bem?

Desculpe a demora em te responder!

Quando você estende uma classe pai, na sua classe filha você precisa declarar as propriedades que serão herdadas e, se necessário, adicionar novas propriedades. No construtor da classe filha, você deve chamar o super() e passar os parâmetros necessários para o construtor da classe pai.

Por exemplo:

class principal {
  constructor(propriedade1) {
    this.propriedade1 = propriedade1;
  }
}

class secundaria extends principal {
  constructor(propriedade1, propriedade2) {
    super(propriedade1);
    this.propriedade2 = propriedade2;
  }
}

Nesse exemplo, a classe secundaria estende a classe principal e adiciona a propriedade2. No construtor da classe secundaria, chamamos o super() e passamos a propriedade1 para o construtor da classe principal.

Quanto aos métodos, eles são herdados automaticamente da classe principal e podem ser utilizados na classe secundaria. Se necessário, você pode sobrescrever o método na classe secundaria.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!