Gracias Manuel por otra clase magistral. o.
-----Mensaje original----- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En nombre de Manuel de la Higuera Enviado el: lunes, 03 de octubre de 2005 17:59 Para: [email protected] Asunto: RE: [ASNativos] añadir métodos a la clase Array Utilizo un método estático por cuestiones de practicidad. Es más que probable que te interese aleatorizar un array de cualquier procedencia y no exclusivamente los Arrays que has creado a partir de la extensión (imagínate un DataProvider, por ejemplo). Para esos casos, te interesa que se pueda realizar sobre cualquier array evitando la necesidad de utilizar tu extensión de Array. En ActionScript 1, puedes directamente manipular el prototype de la clase Array, haciendo que el método esté disponible para cada Array; esta opción también es válida, pero no deja de ser un cañonazo para matar a una mosca (y te puedes encontrar, antes o después, con 300 cañonazos innecesarios si mantienes ese método). Para utilizarlo desde la otra clase, simplemente tendrías que hacer ArrayRandomizer.randomize(array) una vez importada la clase de ArrayRandomizer. Para codificarlo, exáctamente igual que si se tratase de un prototype, pero sustituyendo this por el nombre del parámetro que le pasas como Array. La clase podría resultar en algo así: class ArrayRandomizer { static public function randomize(arr) { arr.sort(function() { return random(2) }) } } Y para testarlo: a = new Array(1,2,3,4,5); ArrayRandomizer.randomize(a); M. > -----Mensaje original----- > De: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] En nombre de óscar > Enviado el: lunes, 03 de octubre de 2005 17:42 > Para: [email protected] > Asunto: RE: [ASNativos] añadir métodos a la clase Array > > ¿Porqué un método estático? ¿Cómo lo utilizaría desde otra clase? > > Gracias. > > o. > > -----Mensaje original----- > De: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] En nombre de Manuel de la > Higuera Enviado el: lunes, 03 de octubre de 2005 16:41 > Para: [email protected] > Asunto: RE: [ASNativos] añadir métodos a la clase Array > > Es posible hacerlo extendiendo la clase Array pero no resulta > demasiado práctico (y el exceso de extensiones resultan > perjudiciales a la larga). > Yo, > personalmente, optaría por una clase con su correspondiente método > estático: > > class ArrayRandomizer { > static public randomize(arr:Array):Array { > ... > return arr; > } > } > > M. > > > > > -----Mensaje original----- > > De: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] En nombre de óscar Enviado el: > > lunes, 03 de octubre de 2005 16:22 > > Para: [email protected] > > Asunto: [ASNativos] añadir métodos a la clase Array > > > > Hola a todos, > > > > Estoy comenzando a pelearme con la OOP en AS2 y me surgen > millones de > > dudas aquí va una de las básicas: ¿Cómo puedo añadir un > nuevo método > > a las clases Number, String o Array? > > > > Me gustaría implementar un método para desordenar un array. > > En AS1 lo haría con prototypes, pero ¿como sería en AS2? > > Supongo que extendiendo la clase Array, ¿no? > > > > ¿Alguien me puede dar una pista? > > > > Gracias. > > ---------------------------------- > > Lista ASNativos:[email protected] > > http://www.5dms.com/listas > > ---------------------------------- > > > > ---------------------------------- > Lista ASNativos:[email protected] > http://www.5dms.com/listas > ---------------------------------- > > ---------------------------------- > Lista ASNativos:[email protected] > http://www.5dms.com/listas > ---------------------------------- > ---------------------------------- Lista ASNativos:[email protected] http://www.5dms.com/listas ---------------------------------- ---------------------------------- Lista ASNativos:[email protected] http://www.5dms.com/listas ----------------------------------

