-
Les fonctions statiques
Bonjour,
je travail actuellement sur un projet 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 :D
Merci d'avance !
-
Si la fonction afficher utilise le mot-clé this, c'est bien qu'elle est liée à une instance de ta classe, et donc que ce n'est pas une méthode statique et qu'il ne faut pas la déclarer comme telle !
Je ne vois pas pourquoi tu aurais "besoin" de la déclarer en static. Il suffit, au moment d'appeler la fonction, de connaître l'instance sur laquelle tu veux l'appeler.
Un peu plus de contexte pourrait nous aider à comprendre pourquoi tu coinces...
-
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()
Finalement, aucun rapport avec les fonctions statiques... :oops: