feed twitter facebook LinkedIn facebook

JavaScript » Crear un objeto con métodos en Javascript

septiembre 3, 2010 por Víctor Cuervo 1 Comentario Imprimir Imprimir

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

  1. function rectangulo(base,altura){
  2. this.base = base;
  3. this.altura = altura;
  4. }

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:

  1. function rectangulo(base,altura){
  2. this.base = base;
  3. this.altura = altura;
  4. this.calcularArea = function () { return this.base*this.altura; };
  5. }

La segunda opción es asignar a una de las variables una función externa con nombre. Así, definimos la función getArea():

  1. function getArea(){
  2. return this.base*this.altura;
  3. }

Y en la clase rectángulo asignamos a calcularArea, dicha función:

  1. function rectangulo(base,altura){
  2. this.base = base;
  3. this.altura = altura;
  4. this.calcularArea = getArea;
  5. }

En ambos casos, instanciamos el objeto rectángulo:

  1. var r1 = new rectangulo(2,4);

y llamamos al método área:

  1. alert(r1.calcularArea());
Visualizar el Codigo
Visualiza el artículo
Descargar el Codigo
Descargar el código
Error en el Codigo
Error en el código
Foro sobre Javascript
Foro sobre Javascript
tags: , , , , , , ,

Artículos relacionados:

1 comentario »

RSS feed para los comentarios de esta entrada. TrackBack URI

Deja un comentario

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*