Hemos visto como crear atributos privados definidos dentro de una clase en Javascript. Ahora crearemos métodos privados que nos permitan acceder a esa información.
En la siguiente definición vemos como podemos crear métodos públicos. Los cuales se pueden invocar desde cualquier parte del código JavaScript.
function rectangulo(base,altura){
this.base = base;
this.altura = altura;
this.calcularArea = function () { return this.base*this.altura; };
}
Pero, si nos queremos volver orientados a objetos en el más puro de los sentidos, una de las preguntas sería ¿Cómo puedo crear métodos privados?
Recordamos que los métodos privados son aquellos métodos que se pueden llamar desde métodos de la clase, pero nunca de forma externa a la clase.
En este caso vamos a añadir un método que incremente en uno la altura. Pero haremos que el método sea privado. Para que el método solo sea privado dejamos de utilizar el elemento this.
Así, los métodos privados nos quedarían de la siguiente forma:
function rectangulo(base,altura){
var base = base;
var altura = altura;
this.inc = function() { incBase(); incAltura(); };
function incBase() { base++; }
function incAltura() { altura++; }
}
Vemos que los métodos incBase() e incAltura() son métodos privados, definidos como simples funciones y que acceden a propiedades privadas (base y altura).
De igual manera, hemos creado un método público, llamado inc(), que invoca a estos métodos privados. Y que será el que podamos llamar desde código JavaScript externo.
var r1 = new rectangulo(2,6);
r1.inc();