Tipos de herança em JavaScript

Tipos de herança em JavaScript
Em JavaScript, Herança é um mecanismo que permite um objeto para herdar todos os métodos e propriedades de seus pais ou objeto base. Também é considerado um componente crucial da OOP (programação orientada a objetos).

A idéia por trás da implementação de herança em JavaScript é adicionar novos objetos que são derivados dos objetos existentes. Quando o objeto recém -criado se torna uma criança ou objeto derivado de uma classe pai, ele pode herdar todos os seus métodos e propriedades.

Este artigo vai discutir tipos de Herança em JavaScript. Então vamos começar!

Tipos de herança em JavaScript

O JavaScript suporta os seguintes tipos de herança:

  • Herança prototípica
  • Herança pseudoclássica
  • Herança funcional

Discutiremos cada um dos tipos de herança mencionados nas seções a seguir.

Herança prototípica em javascript

““Prototípico Herança”Permite acessar propriedades e métodos de um objeto pai. Nesse tipo de herança, um objeto recém -criado é permitido para herdar as propriedades e o método de um objeto existente. Normalmente, “Objeto.getPrototypeOf ()" e "Objeto.setPrototypeOf ()”Pode ser usado para obter e definir o protótipo de um objeto; No entanto, ES6 padroniza o “__proto__”Propriedade acessadora que pode ser utilizada para o propósito semelhante.

Sintaxe da herança prototípica em JavaScript

Objeto de Criança.__Proto__ = ParentObject

Aqui "Objeto de Criança”Representa o objeto recém -criado que herda as propriedades e métodos de“ParentObject”.

Exemplo: como implementar a herança prototípica em javascript

Primeiro de tudo, criaremos dois objetos chamados “Bicicleta" e "Veneno”E adicione um“cor”Propriedade para a“Bicicleta“Objeto e um“nome”Propriedade para a“Veneno”Objeto:

Deixe a bicicleta =
cor azul",
;
Deixe Venom =
Nome: "Venom",
;

Usando “__proto__"Propriedade do"Veneno“Objeto, herdaremos as propriedades do“Bicicleta”Objeto:

Veneno.__proto__ = bicicleta;

Por fim, exibiremos o “ter”(Venom.nome e "herdado”(Venom.cor) valores de propriedade de “Veneno”Objeto:

console.log ("Este é um" + veneno.cor + "" + veneno.nome);

Herança pseudoclássica em javascript

A ideia de implementar o “Pseudoclássico Herança" é criar um “herdado”Função que auxilia a associar a classe infantil à classe dos pais.

Para esse fim, a herança pseudoclássica utiliza:

  • A "construtor()”Função
  • ““novoOperador para criar instâncias
  • A "protótipo”Propriedade que estabelece a cadeia de herança e é atribuída à função do construtor para que todas as instâncias herdem a propriedade especificada.

Agora, confira o exemplo abaixo para entender claramente a herança pseudoclássica.

Exemplo: como implementar a herança pseudoclássica em javascript

Vamos definir uma função construtora chamada “Bicicleta()”:

Função Bike ()
esse.nome = 'bicicleta';

Em seguida, criaremos um “info ()”Função que será herdada pelos objetos infantis de“Bicicleta”:

Bicicleta.protótipo.info = function ()
console.log ('isso é um' + this.nome );
;

Em nosso programa, declararemos outro objeto chamado “Veneno,”E utilizar o“Bicicleta.chamar()”Método para invocar o construtor de bicicletas ():

função veneno ()
Bicicleta.ligue (isso);
esse.nome = 'veneno';

Então, vamos usar o “protótipo”Propriedade para implementar a herança pseudoclássica entre“Veneno“Objeto e“Bicicleta”Objeto:

Veneno.protótipo = objeto.Criar (bicicleta.protótipo);
Veneno.protótipo.construtor = bicicleta;

Na última etapa, o “novo“O operador é utilizado para criar as duas instâncias,“veneno" e "bicicleta“:

var venom = new Venom ();
Var Bike = new Bike ();

Depois de fazer isso, o “info () ” A função é invocada para ambas as instâncias:

veneno.info ();
bicicleta.info ();

Como você pode ver na saída abaixo do dado, a herança pseudoclássica é implementada e a instância “veneno”Herdou e executou o“info ()”Funciona com sucesso:

Herança funcional em javascript

O mecanismo de herdar propriedades aplicando um função de aumento (Função com funcionalidade genérica) para uma instância de objeto é conhecida como “Herança funcional”. A função de aumento definida emprega uma extensão dinâmica de objeto para adicionar propriedades e métodos adicionais a uma instância do objeto. Você também pode usar seu “escopo de fechamento”Para manter alguns dados privados.

Exemplo: como implementar a herança funcional em JavaScript

Neste exemplo, criaremos um “Bicicleta“Objeto com um objeto interno chamado“x”:

Função Bike (Data)
var x = ;
x.nome = dados.nome;
retornar x;

Então, criaremos um objeto filho chamado “Veneno”Que estabelece a herança com o“Bicicleta" aula. Este objeto infantil compreende uma função de aumento “informações”Que pode ter acesso ao“nome"Propriedade do"x”Objeto:

função veneno (dados)
var x = bicicleta (dados);
x.info = function ()
Retornar "Este é um" + x.nome + "bicicleta";
;
retornar x;

Para implementar a herança funcional, criaremos “veneno”Como uma instância infantil e passa o valor do“nome"Propriedade como"dados”Argumento:

var venom = veneno (name: "venom");

O dado “console.registro()”O método buscará o valor do“x.nome”Propriedade do pai“Bicicleta”Objeto e imprimi -lo no console:

console.log (veneno.info ());

Saída

Isso era tudo sobre os tipos de herança em JavaScript. Você pode explorá -los ainda mais de acordo com suas preferências.

Conclusão

Prototípico Herança, herança pseudoclássica e Funcional A herança são diferentes tipos de Herança em javascript. Um tipo prototípico de herança é implementado usando o “__proto__Propriedade, enquanto que, em herança funcional, um Aumentando Função é definida que acessa as propriedades da classe pai. Além disso, o Pseudoclássico A herança utiliza a construtor() função, “novoOperador e protótipo propriedade para incorporar herança entre dois objetos. Este artigo discutiu diferentes tipos de herança em JavaScript.