Hello :)

Essai de lire :

http://www.ekameleon.net/blog/index.php?post/2009/06/05/AS3-prototype-et-overriding

Pour comprendre la différence entre une méthode définie dans les Traits ou
pas :)

Dans tous les cas les 2 méthodes dans ton exemple au dessus sont des
méthodes déclarées dans le traits de ta classe... donc c'est la même sorte
de méthode. Si par contre tu utilises une fonction dans une méthode en local
cela ne marche plus de la même manière au niveau du scope de la fonction...

En gros si tu utilises une méthode définie dans ta classe le "this" dans la
méthode sera tjs celui de l'instance de la classe qui invoque la méthode..
alors que dans le cas d'une fonction simple utilisée comme tu le fais bien
plus haut tu perds le scope vu que la méthode n'est pas stocké en mémoire
dans la classe.

Tu peux lire à ce sujet :
http://www.ekameleon.net/blog/index.php?post/2008/03/23/95-as3-scope-variables-little-difference-with-as2

PS : je ne sais pas pour les autres mais je me reçois une avalanche de spam
sur le dernier message envoyé c'est normal ??

EKA+ :)

Le 3 août 2009 17:35, Shahor <[email protected]> a écrit :

>
> "Compilée en traits..." ? C'est du vocabulaire spécifique à flash
> ou ... ?
>
> De plus, si l'on fait :
> package
> {
>        class Toto
>        {
>                private var toto:Function = function ()
>                {
>                        trace("my first function");
>                };
>
>                private function totoTwo ()
>                {
>                        trace("my second function");
>                }
>
>                public function Toto()
>                {
>                        this.toto();
>                        this.totoTwo();
>                }
>        }
> }
>
> Quelle est la différence entre ces deux fonctions ? Pour moi elles
> sont toutes les deux "anonymes" (de simples "objets" en mémoire) et
> donc dans ta définition sont évaluées par la VM.
> Quel serait dès lors le comportement attendu ?
>
> On Aug 3, 4:51 pm, _ceone <[email protected]> wrote:
> > Une fonction anonyme c'est évalué par la VM alors qu'une fonction
> > déclarée est "compilée" en traits d'où le pourquoi du placement de la
> > fonction dans une méthode privée de la classe plutôt que dans une
> > fonction anonyme ...
> > Aprés pour le coup de la déclaration dans la boucle for: déclarer n
> > fois un objet function la où je ne pourrais en déclarer qu'un seul
> > avec un paramètre c'est pas top efficient :).
> >
> > ++François.
>
> On Aug 3, 4:51 pm, _ceone <[email protected]> wrote:
> > Une fonction anonyme c'est évalué par la VM alors qu'une fonction
> > déclarée est "compilée" en traits d'où le pourquoi du placement de la
> > fonction dans une méthode privée de la classe plutôt que dans une
> > fonction anonyme ...
> > Aprés pour le coup de la déclaration dans la boucle for: déclarer n
> > fois un objet function la où je ne pourrais en déclarer qu'un seul
> > avec un paramètre c'est pas top efficient :).
> >
> > ++François.
> >
>

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "FCNG" de 
Google Groupes.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour résilier votre abonnement à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour afficher d'autres options, visitez ce groupe à l'adresse 
http://groups.google.com/group/FCNG?hl=fr
-~----------~----~----~----~------~----~------~--~---

Répondre à