NO significa NO
O mejor piénsatelo antes de declarar en AS3 un método privado. Cuando lo haces nada ni nadie puede sobreescribirlo, ni siquiera las clases que extiendan la tuya. Si crees (aunque sea remotamente) que vas a necesitar sobreescribir esos métodos o propiedades, mejor cúbrete las espaldas declarándolos “protected”. Un rápido resumen de cómo se comportan los modificadores de acceso en AS3 se puede ver aquí.
De hecho, en una de las últimas charlas del LFPUG Tink comentaba que uno de los problemas con los que se encontraban con los componentes oficiales (creo que los de Flex) era que muchas veces intentaban heredar de ellos para hacer algunas modificaciones hasta que se encontraban con un método privado y entonces estaban en un callejón sin salida.
Pero bueno, por fin estoy metiendo el cuezo con AS3 y la verdad es que mola bastante. Entiendo que a alguna gente le parezca un poco coñazo (temas como tener que importar muchas más clases explícitamente) pero da la sensación de mucho más robusto y deja bastante claro que AS2 no fue más que una mala manera de parchear la AVM1 para darle un poco de consistencia al lenguaje.
El sistema de eventos tiene buena pinta, E4X es un lujo porque tienes XPath de serie y mucho más conciso, utilizar URLLoader y URLRequest parece mucho más largo pero unifica el método de carga de todos los elementos externos (XML, imágenes, sonidos, etc)… No sé, estoy en el medio de portar ZCode a AS3 y por ahora va bien, ya iré contando como va todo y lo que me gusta y lo que no.
August 24th, 2008 at 11:31 pm
Totalmente de acuerdo!
Y si decides exponer un método a las subclases hazlo con coherencia! ( ver http://www.joangarnet.com/blog/?p=425 )
Siempre nos quedará el “monkey patch”…
Saludos!