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

avec Java Discussion :

Les énumerations c'est quoi ?


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 48
    Points : 25
    Points
    25
    Par défaut Les énumerations c'est quoi ?
    Bonjour amis developpeurs,

    Je ne comprends pas le concept des enumerations, est ce que sans le concept d'enumeration, il y aurait besoin de "levages" d'exceptions a tire la rigot??
    je m'explique: les enumerations sont en quelques sortes une liste d'arguments que la methode peut utiliser et que si ces memes enumerations n'existaient pas, il aurait fallut signifier a l'utilisateur que ce qu'il tape n'est pas correct??

    Je dis n'importe nawac ou il y'a un début de sens a mes propos??

    Merçi!

  2. #2
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Citation Envoyé par ville_de_lumiere Voir le message
    Je ne comprends pas le concept des enumerations, est ce que sans le concept d'enumeration, il y aurait besoin de "levages" d'exceptions a tire la rigot??
    Je ne comprends pas le rapport. Disons que sans le concept d'enumeration, on aurait de nombreux endroits avec des if.. else if..

    Citation Envoyé par ville_de_lumiere Voir le message
    je m'explique: les enumerations sont en quelques sortes une liste d'arguments que la methode peut utiliser et que si ces memes enumerations n'existaient pas, il aurait fallut signifier a l'utilisateur que ce qu'il tape n'est pas correct??
    Oui en quelques sortes, une énumération propose un ensemble fini de valeurs. Et ceci oblige donc à l'utilisateur de n'utiliser que des valeurs compris dans cette liste.

    Disons que sans énumération on en serait par exemple à des choses comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public class Toto {
     
      public static final int VAL1 = 1;
      public static final int VAL2 = 2;
     
      public void maMethode(int maValeur) {
        if (maValeur == VAL2) {
          // Je fais quelque chose
        } else if (maValeur == VAL2) {
          // Je fais autre chose
        }
        ... // etc, etc à mesure que les valeurs se multiplient
     
      }
    }
    Alors qu'avec une enum, le concept du switch devient super lisible et efficace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    public enum EValeur {
      VAL1,
      VAL2;
    }
     
    public class Toto {
     
      public void maMethode(EValeur maValeur) {
        switch(maValeur) {
          case VAL1:
            // Je fais quelque chose
            break;
          case VAL2:
            // Je fais autre chose
            break;
          default:
            // etc, etc
        }
      }
    }
    On peut également ajouter à ça que l'énumération procure des fonctions permettant de lister facilement ses valeurs et qu'une énumération peut être surchargée avec des paramètres en plus. Plus de détails ici : http://java.developpez.com/faq/java/...ns#NOTION_enum
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 48
    Points : 25
    Points
    25
    Par défaut
    Merçi pour 2 choses, d'une les eclaircissements et de deux, de prendre du temps pour coder et expliquer!

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    L'enumeration permet auss d'éviter ce qu'on avait avant, les erreurs dues à l'utilisation de mauvaises constantes. Par exemple, en swing, il y a beaucoup de constantes codées sur des int. Pas toujours évident de savoir que telle méthode attends VERTICAL ou HORIZONTAL, que telle autre attends ALIGNEMENT_X, ALIGNEMENT_Y ou ALIGNEMENT_BOTH et que telle autre attends X ou Y



    Avec bien sur des ints qui sont différents entre VERTICAL et ALIGNEMENT_Y

    Bon, malheureusement, il y a eu très peu de méthodes dans swing qui ont été revue, pour des raisons de compatibilité, pour utiliser des enums plutot que des int, dommage

Discussions similaires

  1. Les latches, c'est quoi ?
    Par elsuket dans le forum Administration
    Réponses: 2
    Dernier message: 15/12/2008, 22h23
  2. Les Systèmes Experts c'est quoi ?
    Par kauluguy dans le forum Langages de programmation
    Réponses: 21
    Dernier message: 07/04/2006, 09h58
  3. c'est quoi les librairie.
    Par hm19000 dans le forum Langage
    Réponses: 6
    Dernier message: 14/12/2005, 21h39
  4. c'est quoi les API
    Par badrou dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 25/11/2004, 17h21
  5. c'est quoi les fonctions UDF
    Par devalender dans le forum Débuter
    Réponses: 7
    Dernier message: 28/05/2004, 09h52

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