Herança no Javascript

Javascript
Tempo de leitura: 2 minutos

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!!!

Author: Thiago Rossi