La programación orientada a objetos (POO) representa una nueva manera de pensar a la hora de hacer un programa. Javascript no es un lenguaje de programación orientado a objetos, aunque los utiliza en muchas ocasiones: podemos crear nuevos objetos y utilizar muchos que están creados desde un principio. Sin embargo la manera de programar no va a cambiar mucho y lo que hemos visto hasta aquí relativo a sintaxis, funciones, etc. puede ser utilizado igual que se ha indicado. Solo vamos a aprender una especie de estructura nueva.
Para empezar a empaparnos en este asunto es imprescindible que nos leamos un pequeño artículo publicado en DesarrolloWeb sobre la programación orientada a objetos. Después de su lectura puedes continuar con estas líneas y si conoces ya la POO continúa leyendo sin pausa.
En javascript para crear un objeto a partir de una clase se utiliza la instrucción new, de esta manera.
var miObjeto = new miClase()
En una variable que llamamos miObjeto asigno un nuevo (new) ejemplar de la clase miClase. Los paréntesis se rellenan con los datos que necesite la clase para inicializar el objeto, si no hay que meter ningún parámetro los paréntesis se colocan vacíos. En realidad lo que se hace cuando se crea un objeto es llamar al constructor de esa clase y el constructor es el encargado de crearlo e inicializarlo. Hablaremos sobre esto más adelante.
Las propiedades se acceden colocando el nombre del objeto seguido de un punto y el nombre de la propiedad que se desea acceder. De esta manera:
miObjeto.miPropiedad
Para llamar a los métodos utilizamos una sintaxis similar pero poniendo al final entre paréntesis los parámetros que pasamos a los métodos. Del siguiente modo:
miObjeto.miMetodo(parametro1,parametro2)
Si el método no recibe parámetros colocamos los paréntesis también, pero sin nada dentro.
miObjeto.miMetodo()
En el siguiente artículo veremos una introducción objetos nativos en Javascript y luego empezaremos a verlos uno por uno, de tal modo que podremos practicar todo lo que hemos visto hasta ahora sobre POO.