Les fonctions statiques
Résolu
YoshK
Messages postés
31
Statut
Membre
-
YoshK Messages postés 31 Statut Membre -
YoshK Messages postés 31 Statut Membre -
Bonjour,
je travail actuellement sur un projet en AS3 dans lequel je dois afficher une image, elle même générée par une classe.
J'ai donc une fonction genererImg() qui va appeler afficher() de la classe Main.
Je suis obligé de passer la fonction afficher() en static pour pouvoir l'appeler depuis genererImg() mais dés lors, je ne peu plus utiliser le mot clé "this" qui est nécessaire à l'affichage...
Si quelqu'un peu m'expliquer plus clairement les raisons de ces erreurs voire trouver une solution
Merci d'avance !
je travail actuellement sur un projet en AS3 dans lequel je dois afficher une image, elle même générée par une classe.
J'ai donc une fonction genererImg() qui va appeler afficher() de la classe Main.
Je suis obligé de passer la fonction afficher() en static pour pouvoir l'appeler depuis genererImg() mais dés lors, je ne peu plus utiliser le mot clé "this" qui est nécessaire à l'affichage...
Si quelqu'un peu m'expliquer plus clairement les raisons de ces erreurs voire trouver une solution
Merci d'avance !
2 réponses
-
Je ne connais pas spécifiquement AS3, mais le mot clé static doit y avoir à peu près le même sens que dans les autres langages objet.
Une méthode statique ne s'applique (par définition) à aucun objet, donc on ne peux pas utiliser this, qui correspond à l'objet courant.
Si "afficher" est static, tu ne peux pas faire image.afficher() mais tu dois passer ton image en paramètre et faire afficher(image) -
Merci pour ta réponse, en réalité j'appelais depuis ma classe Main la fonction genererImg() d'une autre classe, qui appelait ensuite la fonction afficher() situé sur la classe Main...
Il fallait simplement que genererImg() retourne l'image et que je la passe ensuite en paramètre à afficher()