Programación orientada a objetos en JavaScript

MiniCurso Gratuito

Programación orientada a objetos en JavaScript

Introducción al concepto Objeto .

Programación orientada a objetos en JavaScript. -Cuando se está comenzando a aprender a programar se suele adquirir la mala costumbre de crear funciones e ir copiando el mismo código fuente en archivos de otros proyectos nuevos.

El problema es que a medida que el número de proyectos y funciones va creciendo y es necesario modificar éstas, hay que realizar dicha modificación en todos los proyectos, es más en todos los scripts que hayamos realizado.

Esta práctica, genera aplicaciones difíciles de comprender, modificar y o actualizar debido a lo pesado de su lectura y lo repetitivo de esta.

La forma de evitarlo, es la Programación orientada a objetos en JavaScript, con ella podemos definir funciones (métodos) y propiedades dentro de un Objeto al cual podremos hacer referencia cada vez que necesitemos usar esas funciones o propiedades.

¿Que es un Objeto en JavaScript?.

La Programación orientada a objetos, es un paradigma de programación (un modelo), la cual permite relacionar los objetos del mundo real y de alguna manera llevar estos conceptos a la programación.

Para entender mejor, imagina el coche, tiene un conjunto de partes internas que necesita para funcionar, estas partes están agrupadas en sistemas, por ejemplo sistema de transmisión, de refriferación, eléctrico etc., cada uno tiene una estructura que agrupa funcionalidades específicas para formar un sistema, por ejemplo el sistema de refriferación se encarga de la eliminación del calor producido por el motor del coche.

Si te das cuenta todo muy organizado, separado y agrupado de acuerdo cada funcionalidad.

POO en JavaScript
Fundamentos de los objetos en programación

Además el coche va a tener una serie de cualidades (la marca, el color, el numero de puertas...) y va a poder realizar una serie de acciones (arrancar, frenar, parar, acelerar...)

Todas (o casi todas) de estas cualidades y acciones van a ser comunes a todos los coches y otras seran específicas de un determinado tipo de coche, lo cual me permite a partir del objeto coche adaptar la programacion a mis necesidades reutilizando codigo ya escrito en la definicion del objeto coche.

Para ilustrar esto vamos a crear nuestro primer objeto coche;

var coche = {
    marca= 'Opel',
    color: 'Azul',
    puertas: 2,
    ruedas: 2,
    arranca: function(){return 'El coche esta arrancado'},
    para: function(){return 'El coche esta parado'}
}

A partir de este objeto podemos instanciar nuevos 'Coches', asignandole nuevas propiedades o 'herendando' otras del objeto del que lo instanciamos

var todoTerreno = new Coche();
todoTerreno.color = 'Rojo';    

De esta manera nuestro objeto todoTerreno tendra 4 puertas, 4 ruedas, de marca Opel, arrancará y parará, ya que estos metodos y propiedades los hereda de coche, tendra el color 'Rojo' que le hemos asinado en el nuevo objeto todoTerreno;

Este, que es un ejemplo muy básico, nos sirve para tener una idea del funcionamiento de la Programación orientada a objetos en JavaScript y de la filosofia de la reutilizacion de código dentro del Diseño web

Todos estos conceptos los veremos en las sucesivas entradas de esta mini curso, por ahora y para terminar vamos la definición formal de la POO en JavaScript aqui va:

Formalmente dentro de la Programación orientada a objetos en JavaScript, un objeto es una colección de datos relacionados y / o funcionalidades (Un objeto generalmente consta de varias variables y funciones, que se denominan propiedades y métodos cuando están dentro de estos).


Programación orientada a objetos en JavaScript

Capítulos del curso.

Juan López CEO Spin Webs

Juan López

Amante de los buenos usos y el código limpio en la programación web, ayudo a empresas y emprendedores a lanzar sus proyectos en Internet, analizar el entorno, buscar el mejor enfoque y las herramientas adecuadas para lograr el fin deseado.

Muy comprometido con la formación y acceso universal a las tecnologías de código abierto, participo o soy fundador de diferentes canales, en donde trato de acercar la programación web al común de los mortales con cursos de diseño web enfocados única y exclusivamente al mundo laboral, real y actual