09/03/2009, 08:43
|
|
Respuesta: Duda sobre JavaScript y OOP Javascript es un lenguaje orientado a objetos, pero en lugar de basarse en clases, se basa en prototipos.
Esto hace que el concepto de polimorfismo sea algo distinto y que más que herencia se maneje el concepto de clonación. Es posible implementar herencia sobre el sistema básico de prototipos igual que es posible implementar un sistema completo de clases. En este sentido guarda cierta relación con Lisp, en el sentido de permitir crear nuestro propio sistema de clases que puede ser variable.
Así que la respuesta a tu pregunta es... depende. Depende de en qué te centres. ¿Es orientado a objetos? Sí. ¿Soporta los conceptos de herencia, polimorfismo o encapsulación? Sí. ¿Como PHP5 o C++? Aquí la respuesta es no, porque PHP5 y C++ no tienen un sistema de orientación a objetos igual, cada uno tiene sus diferencias y matices. Por ejemplo C++ soporta herencia múltiple. PHP5 no, pero soporta el concepto de interfaces. Ninguno de ellos soporta el concepto de "duck typing", que sí soporta Javascript.
En general, los "conceptos de orientación a objetos" pueden y varian de un lenguaje a otro. Y eso es lo que ocurre aquí. Javascript es orientado a objetos, eso está claro. Pero no igual que PHP5 ni que C++. |