Sometiendo la aplicación a prueba de seguridad, note que de ninguna manera se podía acceder ni escribir en los miembros privados estáticos, pero en una de las pruebas note algo extraño que lo explicaré de la siguiente manera.
Supongamos la siguiente clase:
Código ActionScript :
class Sample { static private var miVar:Number = 1; }
Como es de esperar, desde la aplicación no se puede acceder a la variable estática privada, pero si sometemos a la clase en For in, desde la aplicación podemos ver todos los miembros estáticos públicos y privados
Código ActionScript :
import Sample; for (var prop in Sample) { trace("Sample."+prop+" = "+Sample[prop]); }
Lo que es peor es que se puede escribir sobre las variables estáticas privadas de la siguiente forma:
Código ActionScript :
Sample["miVar"] = 2;
Dado lo anterior, cual es el objeto de los miembros estáticos privados si de cierta forma son públicos. Buscando remedio al problema decidí hacer que la clase no tuviera elementos estáticos, por lo que consideré utilizar el tipo Singleton, pero para mi suerte esta modalidad también hace uso de una variable privada estática que indica que ya fue creada una única instancia, y como es lógico, esto sería fácil modificar.
Mi solución en particular es hacer una instancia normal de la clase, de esta forma no he conseguido acceder a la información privada de la clase. Me gustaría saber sus opiniones, o si lo anterior es un tema ya conocido o he errado, disculpen mi mal información.
Un saludo para todos.