Les fonctions statiques

Résolu
YoshK Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   -  
YoshK Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   -
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 !

2 réponses

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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)
0
YoshK Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
 
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()
0