$cat~/glossario/polymorphism.md

Polimorfismo

JavaScript

Capacidade de tratar diferentes implementações pela mesma interface ou tipo base.

polymorphism.mdmarkdown
01

seção

Explicação

Polimorfismo — Capacidade de tratar diferentes implementações pela mesma interface ou tipo base.

Mesma interface, implementações distintas — método overridden em subclass ou duck typing em JS.

JS não exige interfaces formais; contrato é por forma (mesmos métodos/props).

02

seção

Exemplo

snippetJavaScript
function area(forma) {  return forma.area(); // duck typing}
03

seção

Modo de uso

  • Strategy pattern com objetos intercambiáveis

  • Render props / componentes plugáveis

  • Test doubles com mesma API

04

seção

Armadilhas comuns

  • Assumir tipo sem validação runtime

  • Override que quebra contrato LSP

05

seção

Termos relacionados