me han hecho algunas investigaciones sobre el foro ExtJS respecto métodos privados y campos dentro de una clase extendida , y no pude encontrar ninguna respuesta real a esta.al extender una clase usando ExtJS
y cuando digo una clase extendida quiero decir algo como esto:
Ext.ux.MyExtendedClass = Ext.extend(Ext.util.Observable, {
publicVar1: 'Variable visible from outside this class',
constructor: function(config) { this.addEvents("fired"); this.listeners = config.listeners; }, // to show that I need to use the base class
publicMethod1: function() { return 'Method which can be called form everywhere'; },
publicMethod2: function() { return this.publicMethod1() + ' and ' + this.publicVar1; } // to show how to access the members from inside another member
});
El problema aquí es que todo es público. Entonces, ¿cómo agrego una nueva variable o método dentro del alcance de MyExtendedClass que no se puede acceder desde el exterior pero se puede acceder mediante los métodos públicos?
+1 ¡Funciona! Pero acabo de darme cuenta de que hay otra solución que parece mejor. Porque con su solución, el tiempo de creación de cada instancia aumentará, y creo que el mío no. Voy a publicarlo ahora, para que la gente pueda decir si estoy equivocado o no. –
Doy la bienvenida a esta conversación. Podría decirse que muy pocos desarrolladores están preocupados por la ocultación de datos al desarrollar en JavaScript. – Upperstage