jump to navigation

Atributos públicos y métodos privados en JavaScript Viernes, 6 marzo 2009

Posted by israelof in General.
trackback

Tocando un poco más la orientación a objetos en JavaScript, nos hemos topado con una situación curiosa, algo atípico en esta metodología.

Antes de desvelar el misterio ponemos la porción de código de ejemplo, para que se vea mejor lo que sucede:

Clase_A = function() {
	//Atributos
	this.atributo_publico = "atributo_publico";

	//Métodos
	metodo_privado = function() {
		this.atributo_publico = "cambio_metodo_privado"; //ERROR
	}

	metodo_privado(); //Se ejecuta al crear el objeto
}
var objeto = new Clase_A();

La cuestión está en que desde un método privado no podemos modificar atributos públicos de la misma clase. El cliente nos dice que no encuentra el atributo.

De momento la única solución que hemos probado es hacer el método público, y suponemos, aunque todavía no lo hemos comprobado, hacer el atributo privado y un método público que nos devuelva el atributo privado allí donde lo necesitemos.

Gracias a Rubén y a David por traerme de vuelta a la realidad.

Anuncios

Comentarios»

1. Guillermo Díaz Gallego - Jueves, 31 julio 2014

Otra solucion es usa dentro del metodo privado los atributos con la instancia “objeto” en lugar de “this”.

//Métodos
metodo_privado = function() {
objeto.atributo_publico = “valor”;//Funciona!

}


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: