Herança de classe JavaScript

Neste tutorial, você aprenderá sobre a herança da classe JavaScript com a ajuda de exemplos.

Herança de classe

A herança permite definir uma classe que obtém toda a funcionalidade de uma classe pai e permite adicionar mais.

Usando a herança de classe, uma classe pode herdar todos os métodos e propriedades de outra classe.

A herança é um recurso útil que permite a reutilização do código.

Para usar a herança de classe, você usa a extendspalavra - chave. Por exemplo,

 // parent class class Person ( constructor(name) ( this.name = name; ) greet() ( console.log(`Hello $(this.name)`); ) ) // inheriting parent class class Student extends Person ( ) let student1 = new Student('Jack'); student1.greet();

Resultado

 Olá Jack

No exemplo acima, a Studentclasse herda todos os métodos e propriedades da Personclasse. Portanto, a Studentclasse agora terá a namepropriedade e o greet()método.

Em seguida, acessamos o greet()método da Studentclasse criando um student1objeto.

Palavra-chave JavaScript super ()

A superpalavra-chave usada dentro de uma classe filha denota sua classe pai. Por exemplo,

 // parent class class Person ( constructor(name) ( this.name = name; ) greet() ( console.log(`Hello $(this.name)`); ) ) // inheriting parent class class Student extends Person ( constructor(name) ( console.log("Creating student class"); // call the super class constructor and pass in the name parameter super(name); ) ) let student1 = new Student('Jack'); student1.greet();

Aqui, superdentro da Studentclasse se refere à Personclasse. Portanto, quando o construtor da Studentclasse é chamado, ele também chama o construtor da Personclasse, que atribui uma propriedade de nome a ela.

Método ou propriedade de substituição

Se uma classe filha tiver o mesmo método ou nome de propriedade da classe pai, ela usará o método e a propriedade da classe filha. Esse conceito é chamado de substituição de método. Por exemplo,

 // parent class class Person ( constructor(name) ( this.name = name; this.occupation = "unemployed"; ) greet() ( console.log(`Hello $(this.name).`); ) ) // inheriting parent class class Student extends Person ( constructor(name) ( // call the super class constructor and pass in the name parameter super(name); // Overriding an occupation property this.occupation = 'Student'; ) // overriding Person's method greet() ( console.log(`Hello student $(this.name).`); console.log('occupation: ' + this.occupation); ) ) let p = new Student('Jack'); p.greet();

Resultado

Olá aluno Jack. ocupação: estudante

Aqui, a occupationpropriedade e o greet()método estão presentes na Personclasse pai e na Studentclasse filha . Portanto, a Studentclasse substitui a occupationpropriedade e o greet()método.

Usos de herança

  • Como uma classe filha pode herdar todas as funcionalidades da classe pai, isso permite a reutilização do código.
  • Depois que uma funcionalidade é desenvolvida, você pode simplesmente herdá-la. Não há necessidade de reinventar a roda. Isso permite um código mais limpo e mais fácil de manter.
  • Visto que você também pode adicionar suas próprias funcionalidades na classe filha, você pode herdar apenas as funcionalidades úteis e definir outros recursos necessários.

Artigos interessantes...