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 :

Constantes dan une interface


Sujet :

Langage Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 228
    Points : 102
    Points
    102
    Par défaut Constantes dan une interface
    Bonjour,

    Je vien de tomber sur ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public interface Constants {
     
    	String A = "A";
     
    	String B = "B";
     
    	String C = "C";
    }
    Evidement cette interface n'est implementée par personne, mais les variables sont bien utilisées. Quelle interet de faire cela comme ça plutot qu'une classe avec des membres statics ?

    Merci

  2. #2
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Implicitement, ces variables sont public static final.
    Donc ça "revient" au même, tu utilises Contants.A pour appeler ta variable A...

    Mais cela a un petit avantage : tu peux faire class MaClasse implements Constants. Et donc tu peux directement appeler A sans faire Constants.A...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 228
    Points : 102
    Points
    102
    Par défaut
    Citation Envoyé par ®om
    Implicitement, ces variables sont public static final.
    Donc ça "revient" au même, tu utilises Contants.A pour appeler ta variable A...

    Mais cela a un petit avantage : tu peux faire class MaClasse implements Constants. Et donc tu peux directement appeler A sans faire Constants.A...
    Humm ok, c'est quand meme dommage alors de pas utiliser le petit avantage que donne cette ecriture alors.
    Merci pour la lecture en tout cas

  4. #4
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Citation Envoyé par chronos
    Humm ok, c'est quand meme dommage alors de pas utiliser le petit avantage que donne cette ecriture alors.
    Merci pour la lecture en tout cas
    Mais bon, ça n'est qu'une astuce pour l'écriture (d'ailleurs utilisée par Swing avec l'interface SwingConstants).
    Depuis java 1.5, il est plus correct de faire un import static...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import static java.lang.Math.PI;
    puis tu peux appeler directement PI dans ta classe...

    D'ailleurs, c'est ce qu'ils écrivent ici (qu'il ne faut pas abuser des interfaces):
    http://java.sun.com/j2se/1.5.0/docs/...ic-import.html

    Only use it when you'd otherwise be tempted to declare local copies of constants, or to abuse inheritance (the Constant Interface Antipattern).

Discussions similaires

  1. Fond JPG dans une interface
    Par TiNoUcHe dans le forum 2D
    Réponses: 3
    Dernier message: 01/03/2006, 10h40
  2. Inclure une fenetre OGL dans une interface java
    Par Bart_lx dans le forum OpenGL
    Réponses: 2
    Dernier message: 06/02/2006, 18h14
  3. Changement de nom dans une interface
    Par memed dans le forum Oracle
    Réponses: 6
    Dernier message: 27/10/2005, 18h20
  4. [vb.net][html] afficher une page html dans une interface vb?
    Par graphicsxp dans le forum Windows Forms
    Réponses: 1
    Dernier message: 29/09/2005, 17h31
  5. Tableau dans une interface idl
    Par Polochon2001 dans le forum CORBA
    Réponses: 2
    Dernier message: 14/05/2004, 09h44

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