IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Interface et attributs statiques


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 80
    Par défaut Interface et attributs statiques
    Bonjour,

    j'ai un problème synthaxique : j'ai une interface que j'implémente avec plusieurs classes. Le problème est que j'aimerais intégrer un attribut "static" à cette interface. Jusque là pas de problème, mais lorsque je souhaite affecter cet attribut dans une autre classe, on m'explique qu'un attribut final ne peut pas être assigné.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public interface Dessin
    {
    <div style="margin-left:40px">static public maVariableStatique=null;</div><div style="margin-left:40px">public void blabla();</div>}
    et dans une autre classe je tente d'assigner maVariableStatique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public void maFonction()
    {
    <div style="margin-left:40px">...</div><div style="margin-left:40px">Dessin.maVariableStatique = uneValeur;</div><div style="margin-left:40px">...</div>}
    Et là, c'est donc le drame.
    Est-il possible de faire cela?

    Merci à vous

    a+

  2. #2
    Membre Expert
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Par défaut
    Je pense que c'est parce que tu essayes d'affecter une valeur a la variable statique de l'interface or qu'il faudrait le faire sur celle d'une des classes implémentant cette interface.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class DessinImpl implements Dessin  {
    ....
    }
    public void maFonction()
    {...DessinImpl.maVariableStatique = uneValeur;...}

  3. #3
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut
    Je crois que ca ne va pas être possible...
    Une possibilité est de faire
    • une interface Dessin (avec les protos des méthodes)
    • une classe abstraite AbstractDessin implémentant Dessin (avec ta variable statique)
    • des classes étendant AbstractDessin qui pourront accéder aux variables statiques

    Enfin c'est une proposition...

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 80
    Par défaut
    Le problème est que je ne peux pas étendre mes classes qui implémentent l'interface, car elles étendent déjà quelque chose.
    Si ce n'est pas possible, alors je ferai comme Viena propose, je trouvais plus élégant de mettre la variable dans l'interface et de ne l'initialiser qu'une fois m'enfin tant pis
    En tout cas, merci à vous!

  5. #5
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut
    Citation Envoyé par Mayhem
    alors je ferai comme Viena propose
    J'ai un doute, je ne pense pas que cela fonctionne... Enfin tu peux essayer et nous tenir au courant

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.0] Intérêt d'un attribut statique
    Par berceker united dans le forum Langage
    Réponses: 5
    Dernier message: 22/07/2009, 17h12
  2. [PHP 5.2] Accéder à un attribut statique d'une classe fille
    Par Bacteries dans le forum Langage
    Réponses: 2
    Dernier message: 25/01/2009, 20h55
  3. Appel d'un attribut statique dans la classe courante
    Par picwic dans le forum Langage
    Réponses: 15
    Dernier message: 30/01/2008, 23h00
  4. Attribut statique = instance d'une classe
    Par allserv dans le forum C++
    Réponses: 13
    Dernier message: 03/01/2008, 18h42
  5. [POO] Heritage d'attribut statique surchargé !
    Par Jaxofun dans le forum Langage
    Réponses: 25
    Dernier message: 16/08/2005, 09h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo