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

  1. #1
    Membre chevronné
    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
    Points : 2 158
    Points
    2 158
    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.
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Points : 861
    Points
    861
    Par défaut
    Ce sont des classes internes à d'autres classes
    Ignorer c'est aussi croire que l'on sait.
    Merci d'essayer d'écrire correctement.
    Pas de questions techniques par MP SVP.

  3. #3
    Membre actif
    Inscrit en
    Mars 2004
    Messages
    247
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 247
    Points : 293
    Points
    293
    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 sénior
    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
    Points : 23 190
    Points
    23 190
    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 chevronné
    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
    Points : 2 158
    Points
    2 158
    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 ?
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  6. #6
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    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 chevronné
    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
    Points : 2 158
    Points
    2 158
    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
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  8. #8
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    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++

  9. #9
    Membre chevronné
    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
    Points : 2 158
    Points
    2 158
    Par défaut
    ok ... je viens de faire quelques tests et je comprends mieux.

    en fait ca simplifie la communication et la liaison de 2 classes.

    Genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    MaClasse c = new MaClass();
    UneAutreClasse c2 = new UneAutreClasse(c);
    avec bien sur c2 qui manipule c via des methodes publiques.
    Cette technique permet (entre autre) de se passer de getter/setter publiques pour certaines variables sensible

    J'ai bien compris ?
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  10. #10
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Oui tu as bien compris...


    Mais cela peut également être un moyen de "regrouper" logiquement des classes très proche sans forcément avoir besoin d'accéder aux méthodes privées...

    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