O que é polimorfismo em JavaScript

O que é polimorfismo em JavaScript
O termo polimorfismo é derivado da palavra “Polymorph," onde "Poli" significa "Muitos" e "Morph" significa "Transformando uma forma em outra““. Na programação orientada a objetos, o polimorfismo permite executar a mesma operação de várias maneiras. Ele permite que você invocar o mesmo método com diferentes objetos JavaScript, passando membros de dados selecionados.

Este artigo discutirá o polimorfismo em JavaScript com a ajuda de exemplos apropriados. Então vamos começar!

O que é polimorfismo em JavaScript

Os objetos podem agir de maneira diferente em diferentes contextos, porque todos os princípios de programação orientados a objetos são baseados no uso de objetos. O polimorfismo refere -se ao conceito de que pode haver várias formas de um único método e, dependendo do cenário de tempo de execução, um tipo de objeto pode ter comportamento diferente. Utiliza “Herança”Para esse fim.

No polimorfismo, vários objetos podem ter os mesmos métodos, mas com implementações diferentes, e um objeto e seu método relacionado são selecionados com base nas preferências do usuário.

Exemplo 1: Usando o polimorfismo em JavaScript

Os animais são frequentemente usados ​​para explicar o polimorfismo. No exemplo abaixo do gol, “Animal”É uma classe de pai, enquanto, Gato e Cachorro são suas classes derivadas ou infantis. O método speak () é comum nas duas classes infantis. O usuário pode selecionar um objeto de qualquer classe infantil em tempo de execução, e o intérprete JavaScript invocará o “falar()”Método de acordo.

De acordo com a descrição acima, definimos o pai Animal classe e suas duas classes infantis, Gato e Cachorro, em nosso programa. Então nós adicionamos um “falar()”Método na classe de animais.

Neste exemplo, não definiremos o “falar()”Método nas aulas infantis. Como resultado, a classe de gatos e cães utilizará a classe de animais “falar()”Método:

animal de classe

falar()

console.log ("Animais têm sons diferentes");


Cat Cat estende o animal


cão de classe estende animal

Em seguida, criaremos dois objetos; um para o “Gato"E outro para o"Cachorro”Classe, respectivamente, e depois invocará o“falar()”Método da classe pai pela ajuda dos objetos criados:

var cat = new Cat ();
gato.falar();
var cão = novo cachorro ();
cachorro.falar();

Você pode ver na saída abaixo do ritmo que o “falar()”O método da classe de animais é executado duas vezes:

Exemplo 2: Usando o polimorfismo com o método substituído em javascript

Método substituindo é um tipo específico de polimorfismo que permite que uma classe infantil implemente o método já adicionado na classe pai ou base, de uma maneira diferente. Ao fazer isso, a classe infantil substitui o método da classe pai.

O intérprete JavaScript determinará qual método você deseja executar. Se você criou um objeto de classe pai, o método que existe na classe pai será executado. No entanto, invocar o mesmo método com o objeto de classe infantil executará a criança ou o método de classe derivada.

Neste exemplo, substituiremos o “falar()”Método do“Animal”Classe usando polimorfismo. Para esse fim, escreveremos o método speak () em nosso Gato e Cachorro Classes que substituirão o método speak () da classe pai. Por fim, invocaremos os métodos definidos usando um loop foreach:

animal de classe

falar()
console.log ("Animais têm sons diferentes");

Cat Cat estende o animal

falar()
console.log ("Cat diz miaw miaw");

cão de classe estende animal

falar()
console.log ("Dog Say Woof Woof");

var x = [novo gato (), novo cachorro ()]
x.foreach (function (info)
informações.falar(); );

A saída mostrará as cordas adicionadas ao “falar()”Método das aulas de gatos e cães:

Pode ser claramente verificado a partir da saída acima, o falar() método de Animal A classe é substituída pelas classes infantis (Gato e Cachorro).

Por que você deve usar o polimorfismo em JavaScript

Aqui estão algumas das vantagens do uso do polimorfismo em JavaScript:

  • O polimorfismo permite que os programadores reutilizem o código, que economiza tempo.
  • A conversão do tipo implícita é suportada pelo polimorfismo.
  • Ele permite que uma classe infantil tenha o mesmo método de nome adicionado na classe pai, com funcionalidade diferente.
  • Em diferentes cenários, a funcionalidade de um método é adicionada de maneira diferente.
  • Variáveis ​​únicas podem ser utilizadas para armazenar vários tipos de dados.

Conclusão

Polimorfismo em JavaScript refere -se ao conceito de reutilizar uma única peça de código várias vezes. Ao utilizar o polimorfismo, você pode definir várias formas de um método e, dependendo do cenário de tempo de execução, um tipo de objeto pode ter comportamento diferente. Este artigo discutiu o polimorfismo em JavaScript com a ajuda de exemplos apropriados.