No creo que esté de acuerdo con su premisa, pero el principal beneficio de la herencia basada en prototipos es que permite la asignación de propiedades y métodos en tiempo de ejecución a todos los miembros de la clase, incluso cuando ya existen instancias de esa clase.
El teórico en mí realmente se encoge de algunas de esas implicaciones. Imagina depurar algo donde no tienes idea qué parte del código ha redefinido completamente tu estructura de clase. Es más que desalentador.
embargo, he de decir, que ha demostrado ser útil:
Una vez, cuando estaba trabajando en ActionScript 2 (no para los débiles de corazón, ya que es casi un lenguaje no determinista) en el interior de un ActionScript 3 contenedores. Un efecto secundario desconocido de este problema es que elimina la idea de los niveles de memoria (algo esencial para el código heredado de mi empresa). Pude agregar la línea: MovieClip.prototype._level0 = _root;
y resolvió el problema.
Para contrarrestar mi argumento anterior, el hecho de que puede modificar todas las instancias después del hecho le proporciona cierta cantidad de energía en situaciones donde no tiene acceso a la base de código original (como en el ejemplo), pero No veo un gran beneficio más allá de eso.
Esto probablemente debería moverse a programmers.stackexchange. –
@Paul: ¿Por qué? Esta no es una pregunta de orientación empresarial/buenas prácticas, más teórica. Al menos, así es como lo leo. –
¿No es eso de lo que se tratan los programadores? SO es sobre ayuda, los programadores se trata de cosas teóricas (entre otras cosas). –