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

Java Discussion :

Nom de classe qui m'intrigue


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut Nom de classe qui m'intrigue
    hello !

    en surfant sur le web j'ai trouvé ceci :
    http://jargs.sourceforge.net/doc/api/index.html
    Le nom des classes possedent des ".", or je ne pensais pas que cela etait possible. Cela est il un "abus de langage" ou bien cela est il reconnu comme valide selon les normes de codage standard ?

    Cela m'intrigue et j'aimerais avoir vos avis a ce sujet.

  2. #2
    Membre émérite Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Par défaut
    Ce sont des classes internes à d'autres classes

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2004
    Messages
    247
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 247
    Par défaut
    Je pense qu'ils ont mis en même temps le nom du package.

    Parce que je te confirme qu'une class ne peut avoir de . dans son nom

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Il s'agit tout simplement d'une classe interne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class Conteneur {
     
    	public class Interne {
     
    	}
     
    }
    Dans la javadoc le nom apparait sous la forme Conteneur.Interne...


    Plus d'info dans la FAQ :


    a++

    [edit] grillé

  5. #5
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    ha ok

    Mais c'est pas tres propre totu ca non ?

    ne vaut il pas mieux declarer les classes private qui si mes souvenirs sont bon sont private au package .. non ?

  6. #6
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Clorish Voir le message
    Mais c'est pas tres propre totu ca non ?
    Ca dépend... il ne faut pas en abuser mais cela a des avantages.

    Les classes internes ont un lien privilégié avec leurs classes conteneur (et inversement). De plus cela permet aussi d'organiser un peu le code : la classe interne est spécifique à la classe conteneur et n'est généralement utilisé que par elle...

    Citation Envoyé par Clorish Voir le message
    ne vaut il pas mieux declarer les classes private qui si mes souvenirs sont bon sont private au package .. non ?
    Non ce n'est pas la même chose : ici ces classes sont public et donc utilisable par "tout le monde"


    a++

  7. #7
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    Ya quelque chose que j'ai du mal a comprendre.

    Si la classe interne est public et donc accessible a tout le monde ... comment peut elle etre privilegiee et n'etre utilisée que par la classe ?!?

    Je trouverais logique qu'elle soit locale a la classe, donc utilisable uniquement dans la classe ....

    Mais la ya quelque chose qui m'echappe

  8. #8
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Clorish Voir le message
    Si la classe interne est public et donc accessible a tout le monde ... comment peut elle etre privilegiee et n'etre utilisée que par la classe ?!?
    Oui elle est bien accessible à tous... mais je me suis un peu mal exprimé...

    Par "utilisée que par la classe conteneur", je voulais dire que la classe interne est généralement utilisé avec sa classe conteneur et pas avec d'autre classe. Bref dans ton cas si tu manipules des CmdLineParser.Option c'est que tu utilises CmdLineParser il y a un "lien fort" entre ces deux classes du point de vue logique : en général on les utilises ensemble.
    Ce n'est pas comme une classe plus "générique" comme String, Date ou Integer qui pourrait être utilisé n'importe où...



    Enfin par privilégié je voulais dire que la classe interne a accès aux membres privées de la classe conteneur et inversement...


    Citation Envoyé par Clorish Voir le message
    Je trouverais logique qu'elle soit locale a la classe, donc utilisable uniquement dans la classe ....
    Dans ce cas il faut la déclarer en private


    a++

Discussions similaires

  1. Nom de la class qui appelle la Servlet
    Par zangets dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 29/09/2010, 00h25
  2. Nom de classe qui commence par __
    Par Jcpan dans le forum Langage
    Réponses: 1
    Dernier message: 05/03/2009, 11h34
  3. [Reflection] Comment connaitre le nom de la classe qui appelle une méthode?
    Par framus.class dans le forum API standards et tierces
    Réponses: 11
    Dernier message: 09/06/2008, 09h13
  4. Obtenir le nom des services qui tournent ...
    Par vbcasimir dans le forum Administration système
    Réponses: 4
    Dernier message: 21/01/2004, 17h32
  5. Réponses: 2
    Dernier message: 29/10/2003, 11h05

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