..pues va a ser eso ;-)

----- Original Message ----- From: "Miguel Angel Sánchez" <[EMAIL PROTECTED]>
To: <asnativos@5dms.com>
Sent: Friday, July 22, 2005 10:23 AM
Subject: Re: [ASNativos] salu2 [ Singleton ]


Se me olvidaba decir que ahí no están todos los métodos claro...

Miguel Angel Sánchez escribió:

Para cambiar el puntero del ratón :-P

[EMAIL PROTECTED] escribió:

pues nada muchas gracias, seguire estudiando (q veo q me hace mucha falta), pq sigo sin saber para q vale tu clase raton ¿¿¿????

----- Original Message ----- From: "Miguel Angel Sánchez" <[EMAIL PROTECTED]>
To: <asnativos@5dms.com>
Sent: Friday, July 22, 2005 9:01 AM
Subject: Re: [ASNativos] salu2 [ Singleton ]


Una clase singleton es una clase de la que solo tenemos una instancia, y
provee un método para acceder a esa instancia.
Aspectos a tener en cuenta:
- El constructor es privado, no se puede usar externamente.
- La clase guarda una instancia de sí misma en una propiedad.
- La clase provee de un método estático para recuperar esa instancia.

Yo lo estoy usando para el trabajo que estoy haciendo ahora, para una
clase Raton, que me cambia el cursor por unos png que tengo en un movieclip.

Un ejemplillo simple:

class Raton {
   //variable estática privada que guarda la instancia de la clase
   private static var instance:Raton = null;
   private var clip:MovieClip;

   //constructor privado
   private function Raton() {
   }

   //Método público estático que devuelve la instancia de la clase
   //Si no existe la crea
   public static function getInstance():Raton {
       if (instance==null)
           instance = new Raton();
       return instance;
   }

   public function init(target:MovieClip):Void {
       clip = target;
   }
}

Para acceder a sus métodos hay que recoger antes la instancia. Ej:
Raton.getInstance().init(cursores_mc);

La primera vez que llamemos a getInstance detectará que la variable de
clase instance es null, y creará la instancia de la clase. Las
siguientes llamadas a getInstance simplemente devolverán esta instancia.

Para llamar a cualquier otro método que creáramos tendríamos que hacerlo
haciendo una llamada previamente a getInstance.
Raton.getInstance().otroMetodo();

O crearnos un shortcut si vamos a hacer múltiples llamadas:
var raton:Raton = Raton.getInstance();
raton.init(cursores_mc);
raton.otroMetodo();
etc

Espero que te sirva de ayuda, un saludo

[EMAIL PROTECTED] escribió:

hola q tal?, alguien tiene por ahi una explicacion del uso de las clases singleton?????, llevo un rato buscando por ahi, solo veo en ingles, y me parece asi a priori un tema un poco confuso........----------------------------------
Lista ASNativos:asnativos@5dms.com
http://www.5dms.com/listas
----------------------------------



----------------------------------
Lista ASNativos:asnativos@5dms.com
http://www.5dms.com/listas
----------------------------------


----------------------------------
Lista ASNativos:asnativos@5dms.com
http://www.5dms.com/listas
----------------------------------

----------------------------------
Lista ASNativos:asnativos@5dms.com
http://www.5dms.com/listas
----------------------------------

----------------------------------
Lista ASNativos:asnativos@5dms.com
http://www.5dms.com/listas
----------------------------------


----------------------------------
Lista ASNativos:asnativos@5dms.com
http://www.5dms.com/listas
----------------------------------

Responder a