Como estender uma classe (herdar) em JavaScript?


Em JavaScript, podemos estender uma classe (herdar) usando a palavra-chave extends. A classe filha herda todas as propriedades e métodos da classe pai.

Aqui está um exemplo básico de como estender uma classe em JavaScript:

class Animal {
  constructor(name) {
    this.name = name;
  }

  speak() {
    console.log(`${this.name} faz um barulho.`);
  }
}

class Dog extends Animal {
  speak() {
    console.log(`${this.name} late.`);
  }
}

let dog = new Dog('Rex');
dog.speak(); // Output: "Rex late."

Neste exemplo, a classe Dog estende a classe Animal usando a palavra-chave extends. A classe Dog herda o construtor e o método speak() da classe Animal. No entanto, a classe Dog substitui o método speak() da classe Animal com sua própria implementação.

Também podemos chamar o construtor da classe pai usando a palavra-chave super. Aqui está um exemplo:

class Animal {
  constructor(name) {
    this.name = name;
  }

  speak() {
    console.log(`${this.name} faz um barulho.`);
  }
}

class Dog extends Animal {
  constructor(name, breed) {
    super(name);
    this.breed = breed;
  }

  speak() {
    console.log(`${this.name} (${this.breed}) late.`);
  }
}

let dog = new Dog('Rex', 'Labrador');
dog.speak(); // Output: "Rex (Labrador) late."

Neste exemplo, a classe Dog chama o construtor da classe pai usando a palavra-chave super. A classe Dog também tem sua própria propriedade breed, que é definida em seu próprio construtor.



About the author

William Pham is the Admin and primary author of Howto-Code.com. With over 10 years of experience in programming. William Pham is fluent in several programming languages, including Python, PHP, JavaScript, Java, C++.