Ir al contenido

Clase con atributos privados en Javascript

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, sino que sea mediante método, deberemos hacer que los atributos sean privados. Veamos cómo hacerlo.

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

function Rectangulo(alto,ancho) {
this.alto = alto;
this.ancho = ancho;
}

Y pueden ser accedidos de la siguiente forma:

var r = new Rectangulo(4,3);
alert(r.alto);

Para declararlos privados, dejamos de utilizar la cláusula 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(alto,ancho) {
var alto = alto;
var ancho = ancho;
}

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

var r = new Rectangulo(4,3);
alert(r.alto);

Devolvería undefined.

Métodos públicos para acceder a atributos privados

Sección titulada «Métodos públicos para acceder a atributos privados»

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

function Rectangulo(alto,ancho) {
var alto = alto;
var ancho = ancho;
this.getAlto = function() {
return alto;
}
this.getAncho = function() {
return ancho;
}
}

Y el acceso mediante estos métodos:

var r = new Rectangulo(4,3);
alert(r.getAlto());
Foto de Víctor Cuervo

Víctor Cuervo

Programador, Arquitecto IT, álter ego de Línea de Código, amante de las tecnologías, generador de conocimiento y facilitador del aprendizaje.

Descarga el código de Clase con atributos privados en Javascript

Un ejemplo de manejo de clases en Javascript en el que podremos crear una clase con atributos privados en Javascript.

Descargar código