Web BizarroWeb Bizarro

Suscríbete a nuestro Newsletter

X

Únete a nuestra lista de correos para recibir semanalmente actualizaciones de nuestro contenido.

Programación orientada a objetos con JavaScript

Programación orientada a objetos con JavaScript 27.JAN.14

Alvaro José Rios Ch
Fundador WebBizarro

La programación orientada a objetos es un paradigma de programación que suele resultar muy útil para muchos programadores, entre los que me incluyo, no es muy común en estos tiempo conocer gente, al menos en el mundo de la programación, que no haya oído sobre la POO pero la cosa es diferente cuando desarrollamos en JavaScript, en términos generales porque no era muy común hacer cosas muy grandes con JavaScript por cuestiones del lenguaje y los motores para interpretar el lenguaje por parte de los browser, pero en los últimos años el motor V8 de Google nos ha llevado a un nuevo nivel de JavaScript por lo que el desarrollo de grandes aplicaciones se ha vuelto algo común.

En términos generales y para fines del tutorial enmarcaremos el desarrollo orientado a objetos en 4 partes.

Los Objetos que son los componentes principales de nuestra aplicación y son los que hacen el trabajo, en JavaScript como sabemos podemos usar objetos literales o funciones constructoras que creen objetos. Algo que es importante saber es que las funciones son objetos en JavaScript.

Encapsulación este concepto engloba lo referido a que los objetos tienen un conjunto de atributos y métodos que hacen un trabajo en específico y este trabajo es ajeno y oculto a los demás objetos de la aplicación lo que nos permite separar un conjunto específico de funciones en diferentes objetos en la aplicación.

Herencia como el nombre lo dice se trata de obtener comportamientos y atributos de los objetos padres (clases en otros lenguajes de POO, funciones en JavaScript).

Finalmente la instanciaque es una implementación del objeto dentro de nuestra aplicación, es un concepto un poco difícil de explicar pero digamos que es una copia del objeto que creamos. Por ejemplo.

function Arbol (tipoDeArbol) {} 
//Arbol es una funcion constructora por 
//la que la invocaremos usando el keyword new 

var arbolBanana = new Arbol ("banana"); 
// arbolBanana es una instancia de Arbol 

En el ejemplo Arbol es una función y un objeto (ya habíamos dicho que en JavaScript las funciones son Objetos) y arbolBanana es una instancia de Arbol, esta instancia puede tener sus propios métodos y heredar los métodos y propiedades del objeto padre.

POO en JavaScript

Ya que hemos definido estos conceptos que son muy importantes podemos hablar concretamente de la programación en JavaScript. Hay dos patrones de desarrollo importantes en la POO en javascript el primero se trata de la creación de objetos (Encapsulación) y el segundo la reutilización de código (Herencia).

En un próximo artículo hablaremos acerca de los patrones de diseño para crear objetos en JavaScript (Encapsulación).