Para crear objetos en javascript primero creamos un constructor de la siguiente manera:
function ConstructorClase() { // inicializamos propiedades this.propiedad1 = valor }
podemos hacerlos pasando parámetros:
function ConstructorClase(param1, param2,.... paramX){ // inicializamos propiedades this.propiedad1 = param1; this.propiedad1 = param2; . . . this.propiedad1 = paramX; } El operador "this" nos permite referirnos al propio objeto de la clase.
Para crear los métodos de la clase basta con definir una función y asociarla a la clase de al siguiente manera :
1. Declaramos una función
function funcionClase(param1, param2,.... paramX){ // instrucciones de la función}2. Asociamos la función a la clase en su propio constructor
function ConstructorClase(parámetro1, parámetro2,.... parámetro x){ // inicializamos propiedades this.nombreMetodo = funcionClase }
Si nos fijamos bien esta práctica no es del todo segura ya que estamos definiendo la función de forma global. Esto está relativamente bien hecho; pero para encapsular aún más nuestra clase, debemos declarar nuestra función y su correspondiente asociación a la clase dentro de la misma; es decir en su propio constructor. De la siguiente manera:function ConstructorClase(parámetro1, parámetro2,.... parámetro x){ // inicializamos propiedades this.nombreMetodo = function (parámetro1, parámetro2,.... parámetro x) { // instrucciones de la función } }
Por último; para crear o instanciar un objetos haremos uso del operador "new" :Clase nombreObjeto = new Clase(param1, param2, ... paramX);Usamos el método de la siguiente forma:
nombreObjeto.metodo1();
Para terminar nada mejor que un buen ejemplo real para poder entender estos conceptos y crear sin problema nuestros propios objetos en javascript.CLASE AVIÓN
------------------------
// Declaramos una clase llamada Avion que tiene 4 propiedades; cuyo constructor recibe tres // parámetros (marca. modelo y pasajeros ), el cuarto parámetro se inicializa a 0 en el // momento de la creación del objeto; posteriormente se le puede dar un valor llamando al // método rellenarDeposito que recibe como parámetro la cantidad de litros de combustible a // rellenar.
function Avion(marca, modelo, pasajeros){ // inicializamos propiedades this.maraca = marca; this.modelo = modelo; this.pasajeros = pasajeros; this.cantidad = 0; this.rellenarDeposito = function (litros) { // instrucciones de la función this.cantidad = litros; } }
Finalmente hacemos uso de la clase de la siguiente manera:
Avion nuevoAvion = new Avion("Boeing","777","450");nuevoAvion.rellenarDeposito(500);
Debemos tener en cuenta que el constructor se escribe con mayúscula la primer letra de cada palabra y los métodos deben empezar por minúscula y expresarlos mediante algún verbo que describa su función.