Abstração em JavaScript | Explicado

Abstração em JavaScript | Explicado
Em JavaScript, a maioria dos elementos é baseada em “objetos,”E utiliza“Programação orientada a objetos”(OOP) à sua maneira.

O conceito de Abstração em JavaScript é ocultar os detalhes da implementação e destacar os recursos essenciais de um objeto para os usuários. É assim que a abstração de incorporação em um programa JavaScript pode melhorar a legibilidade do código e evitar a duplicação. Ao fornecer apenas detalhes importantes para os usuários, também melhora a segurança de um aplicativo.

Não sei como implementar a abstração? Sem problemas! Este artigo vai explicar Abstração em JavaScript com a ajuda de exemplos adequados. Então vamos começar!

Classes abstratas em JavaScript

Se uma classe compreende um ou mais métodos abstratos, é conhecida como um “Classe abstrata”E esse tipo de classe tem métodos de JavaScript abstrato e regular. Lembre -se, para implementar a abstração em uma classe, você deve declarar em pelo menos um método abstrato.

Métodos abstratos em JavaScript

Em uma classe abstrata, um tipo de método que só é declarado e não tem implementação ou “corpo da função" é conhecido como "Método abstrato““. O método abstrato deve ser declarado em uma classe abstrata, enquanto sua definição pode ser adicionada no subclasses.

Vamos agora demonstrar o procedimento para criar uma classe abstrata.

Exemplo: como criar classe abstrata em javascript

Primeiro de tudo, criaremos uma função construtora chamada “Pessoa" tendo uma "nome" propriedade. O criado “Pessoa”A função atuará como uma“Classe abstrata”:

função pessoa ()
esse.name = "Alex";
se este.construtor === Person)
lançar um novo erro ("Sua mensagem de erro ...");

;

Na próxima etapa, definiremos um “info ()”Método para o“Pessoa”Classe abstrata que retorna o valor do“nome" propriedade:

Pessoa.protótipo.info = function ()
devolver isso.nome;

Por fim, criaremos um “pessoa”Instância da classe abstrata:

var pessoa = nova pessoa ();

A execução do código fornecido apresentará um erro, pois não podemos criar objetos ou instâncias de uma classe abstrata:

Agora, estenderemos o exemplo acima, implementando o “Herança”. Para esse fim, criaremos outra função construtora que herda os métodos e propriedades do “PessoaClasse abstrata.

Exemplo: Como estender a classe abstrata em JavaScript

No mesmo exemplo, definiremos uma função de construção (subclasse) chamada “Professor”Isso herda as propriedades e métodos dos criados“Pessoa”Classe utilizando a“Encadeamento de protótipo”:

função pessoa ()
esse.name = "Alex";
se este.construtor === Person)
lançar um novo erro ("Sua mensagem de erro ...");

;
Pessoa.protótipo.info = function ()
retornar "o nome da pessoa é:" + este.nome;

Professor da função (nome)
esse.nome = nome;

Professor.protótipo = objeto.criar (pessoa.protótipo);
var professor1 = novo professor ("Stepheny");
console.Log (Professor1.info ());

Nesse caso, a implementação do “PessoaA classe abstrata está oculta e a ““Professor”A subclasse pode acessar apenas o“info () ” método para retornar o valor do “nome" propriedade:

Tentamos implementar a abstração em exemplos anteriores; No entanto, todas as propriedades de uma classe abstrata não estão completamente satisfeitas; Como ainda não definimos métodos abstratos.

O ES6 A versão JavaScript oferece muitos recursos aprimorados, como criar “Aula”Usando o“aula”Palavra -chave e métodos de implementação. Ele também permite definir métodos abstratos em uma classe abstrata e estendê -los na criança ou subclasses com a ajuda de “Herança”.

No exemplo a seguir, implementaremos uma classe abstrata JavaScript com as propriedades especificadas.

Exemplo: como implementar a abstração em javascript

Utilizando o “aula"Palavra -chave, agora definiremos"Pessoa”Como uma classe abstrata, tendo um“construtor()", e um "info ()”Método Resumo:

classe de classe
construtor ()
se este.construtor == pessoa)
lançar um novo erro ("Sua mensagem de erro ...");


info ()
lançar um novo erro ("Método abstrato adicionado não tem implementação");

Em seguida, criaremos uma subclasse “Professor,”Que herda as propriedades e o método do“Pessoa"Classe usando"Herança”E definir a implementação do método abstrato da classe pai“info ()" no "Professor" aula:

A classe professora estende a pessoa
info ()
console.log ("Eu sou um professor");


var professor1 = novo professor ();
Professor1.info ();

Como você pode ver, a implementação do “info ()”O método é executado com sucesso:

Se a classe dos pais Resumo “info ()”O método é invocado no“Professor”Classe, ele lançará um erro. Para verificar este caso, adicione a seguinte linha de código na definição da classe infantil “info ()”Método e, em seguida, execute novamente o programa:

super.info ();

A saída fornecida significa que a execução do método abstrato de uma classe abstrata apresentará um erro:

Nós compilamos todas as informações essenciais relacionadas à abstração em JavaScript.

Conclusão

Abstração em JavaScript pode ser implementado com a ajuda de Classes abstratas e Métodos abstratos. No JavaScript, uma classe abstrata deve conter pelo menos um ou mais métodos abstratos declarados, enquanto sua definição pode ser adicionada em suas subclasses. Abstração em JavaScript esconde os detalhes complicados e difíceis de compreender. Este artigo explicou abstração em JavaScript junto com exemplos adequados.