Soy un programador que ha programado en varios idiomas, tanto funcional como orientado a OO. También programé algo de Javascript, pero nunca usé (ni tuve que usar) el polimorfismo.¿Debo usar polimorfismo en javascript?
Ahora, como un proyecto de hobby, me gustaría portar algunas aplicaciones que fueron escritas en Java y C# que usan mucho polimorfismo para Javascript.
Pero a primera vista, leí un montón de 'Es posible, pero ...'
Entonces, ¿hay una alternativa a ella?
Un ejemplo de lo que me gustaría escribir en JS en pseudolang:
abstract class Shape{ { printSurface() } ; }
class Rect : Shape() { printSurface() { print (sideA*sideB}}
class Circle : Shape() { printSurface() { print { pi*r*r }}
TheApp { myshapes.iterate(shape s) {s.printSurface() } }
lo tanto un caso clásico polimórfica: la iteración en la clase base.
Me gustaría lograr este tipo de comportamiento. Sé que es polimorfismo, pero ¿hay algún otro "patrón" que pase por alto que logre este tipo de comportamiento o debería estudiar las posibilidades de herencia en Javascript?
Tx, muy buena respuesta. Pero pragmáticamente, iré por JOOSE, el marco de clase. – Peter
Esto no funciona para Document. Quería crear NMLDocument que hereda de Document, pero apareció un extraño error '[LenientThis]'. – m93a