Artículos
Javascript

Clase con atributos privados en Javascript

18/Sep/2010

En los ejemplos que hemos visto de orientación a objetos con Javascript: Crear un objeto en Javscript y Crear un objeto con métodos en Javascript. Hemos podido comprobar que los atributos de la clase, eran variables públicas. Es decir, podían ser accedidas desde el código Javascript de manera directa.

Si queremos que no se tenga acceso directo, si no que sea mediante método, deberemos de hacer que los atributos sean privados. Veamos como hacerlo.

Los atributos público serían definidos de la siguiente forma:

function rectangulo(base,altura){
	this.base = base;
	this.altura = altura;
}

Y pueden ser accedidos de la siguiente forma:

var r1 = new rectangulo(2,6);
alert(r1.base);

Para declararlos privados, dejamos de utilizar la clausula this y pasamos a definirlos como variables. Jugando, en este caso, con el ámbito de uso de las variables en Javascript.

Las definiríamos de la siguiente forma:

function rectangulo(base,altura){
	var base = base;
	var altura = altura;
}

De esta forma, el código de acceso directo…

var r1 = new rectangulo(2,6);
alert(r1.base);

… devolvería undefined.

En este caso tendríamos que proporcionar unos métodos públicos para acceder a estos atributos privados.

function rectangulo(base,altura){
	var base = base;
	var altura = altura;
	this.getBase = function() {return base;}
	this.getAltura = function() {return altura;}	
}

Y el acceso mediante estos métodos:

document.write("Un rectangulo de " + r1.getBase() + "x" + r1.getAltura());

Código Fuente

Descárgate el código fuente de Clase con atributos privados en Javascript
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Javascript

Disfruta también de nuestros artículos sobre Javascript en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Javascript

¿Te atreves a probar tus habilidades y conocimiento en Javascript con nuestro test?

Test Javascript
Suscribir
Notificar de
guest
3 Comentarios
Recientes
Anteriores Más votados
Opiniones integradas
Ver todos los comentarios