Les fonctions statiques

Résolu/Fermé
YoshK Messages postés 26 Date d'inscription samedi 21 mars 2009 Statut Membre Dernière intervention 16 mars 2011 - 9 déc. 2010 à 15:00
YoshK Messages postés 26 Date d'inscription samedi 21 mars 2009 Statut Membre Dernière intervention 16 mars 2011 - 9 déc. 2010 à 15:44
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 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019
9 déc. 2010 à 15:08
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 samedi 21 mars 2009 Statut Membre Dernière intervention 16 mars 2011
9 déc. 2010 à 15:44
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