Inheritância em JavaScript
Herança é um conceito importante na programação orientada a objetos. Na herança clássica, métodos da classe base são copiados para a classe derivada.
Em JavaScript, a herança é suportada pelo uso de protótipos de objetos. Algumas pessoas o chamam de “Prototypal Inheriatance” e algumas pessoas o chamam de “Behaviour Delegation”.
Vejamos como podemos obter herança como funcionalidade em JavaScript usando o objeto protótipo.
Vamos começar com a classe Pessoa que inclui FirstName & Propriedade LastName como mostrado abaixo.
No exemplo acima, definimos a classe Person (função) com FirstName & propriedades LastName e também adicionamos o método getFullName ao seu objeto protótipo.
Agora, queremos criar uma classe Student que herde da classe Person para não termos que redefinir o método FirstName, LastName e getFullName() na classe Student. O seguinte é uma classe de Aluno que herda a classe Person.
Por favor note que nós definimos Student.prototype para objeto person recém-criado. A nova palavra-chave cria um objeto da classe Person e também atribui Person.prototype ao objeto protótipo do novo objeto e então finalmente atribui o objeto recém-criado ao objeto Student.prototype. Opcionalmente, você também pode atribuir Person.prototype ao objeto Student.prototype.
Agora, podemos criar um objeto do Aluno que usa propriedades e métodos da Pessoa, conforme mostrado abaixo.
Assim, podemos implementar a herança em JavaScript.