En el artículo de cómo crear un objeto en Javascript podíamos ver como construir de una forma muy sencilla una clase con atributos, de tal manera que instanciasemos objetos de dicha clase y accediésemos a sus atributos.
Ahora vamos a ver como podemos complicar la clase y añadirla métodos en Javascript.
En este caso vamos a utilzizar la clase Rectangulo, la cual tendrá dos atributos base y altura
function rectangulo(base,altura){
this.base = base;
this.altura = altura;
}
Ahora añadimos el método que nos permita calcular el área del rectángulo. Para añadir un método podemos hacerlo de dos formas.
La primer será declarando una función Javascript inline. En este caso la función será anónima. Es decir, no tendá un nombre:
function rectangulo(base,altura){
this.base = base;
this.altura = altura;
this.calcularArea = function () { return this.base*this.altura; };
}
La segunda opción es asignar a una de las variables una función externa con nombre. Así, definimos la función getArea():
function getArea(){
return this.base*this.altura;
}
Y en la clase rectángulo asignamos a calcularArea, dicha función:
function rectangulo(base,altura){
this.base = base;
this.altura = altura;
this.calcularArea = getArea;
}
En ambos casos, instanciamos el objeto rectángulo:
var r1 = new rectangulo(2,4);
y llamamos al método área:
alert(r1.calcularArea());