Herança no Javascript: Este é um princípio fundamental da programação orientada a objetos (POO) que permite criar novas classes a partir de classes existentes. Em JavaScript, a herança é baseada em protótipos, o que significa que os objetos herdam propriedades e métodos de outros objetos.
Neste artigo, vamos explorar mais a fundo o que diz respeito a este assunto na linguagem Javascript.
Protótipos
Em JavaScript, cada objeto tem uma propriedade especial chamada prototype
. Quando tentamos acessar uma propriedade que não existe no objeto, JavaScript tentará encontrar essa propriedade no prototype
do objeto.
let animal = {
come: true
};
let coelho = {
pula: true,
__proto__: animal
};
console.log(coelho.come); // Saída: true
Neste exemplo, coelho
herda a propriedade come
de animal
.
Funções Construtoras
As funções construtoras são usadas para criar objetos. A herança pode ser implementada em JavaScript usando funções construtoras e a propriedade prototype
.
function Animal(nome) {
this.nome = nome;
}
Animal.prototype.come = function() {
console.log(`${this.nome} come.`);
};
function Coelho(nome) {
this.nome = nome;
}
Coelho.prototype = Object.create(Animal.prototype);
Coelho.prototype.constructor = Coelho;
Coelho.prototype.pula = function() {
console.log(`${this.nome} pula.`);
};
let coelho = new Coelho('Branco');
coelho.come(); // Saída: Branco come.
coelho.pula(); // Saída: Branco pula.
Neste exemplo, Coelho
herda de Animal
.
Classes
As classes, introduzidas no ECMAScript 6 (ES6), fornecem uma sintaxe mais clara e elegante para implementar a herança em JavaScript.
class Animal {
constructor(nome) {
this.nome = nome;
}
come() {
console.log(`${this.nome} come.`);
}
}
class Coelho extends Animal {
pula() {
console.log(`${this.nome} pula.`);
}
}
let coelho = new Coelho('Branco');
coelho.come(); // Saída: Branco come.
coelho.pula(); // Saída: Branco pula.
Neste exemplo, a classe Coelho
herda da classe Animal
.
Conclusão
A herança é um conceito poderoso que permite criar estruturas de dados complexas e reutilizar o código de maneira eficiente. Embora a herança em JavaScript seja baseada em protótipos, as classes fornecem uma sintaxe mais clara e elegante para implementar a herança.
Dominar a herança é fundamental para se tornar um bom programador JavaScript. Pratique e experimente esses conceitos por conta própria para obter uma compreensão mais profunda de como eles funcionam.
E para você validar seus códigos, você precisará de uma plataforma de host completa. Clique aqui e conheça a Hostinger, a hospedagem de sites com potência de verdade!!!
Hostinger é uma hospedagem com 99,9% de uptime, fornece certificado SSL grátis e possui vários planos para que você possa escalar seu negócio online com total segurança e eficiência!!!