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 :

Relation entre classe interne et classe contenante en Java ?


Sujet :

Langage Java

  1. #1
    Débutant  
    Inscrit en
    Décembre 2008
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 163
    Points : 41
    Points
    41
    Par défaut Relation entre classe interne et classe contenante en Java ?
    bonjour à tout le monde,

    est ce qu'une classe en JAVA peut contenir une autre classe? autrement dit est ce que je peux avoir un lien de composition entre la classe et elle meme?

    merci et bonne journée

  2. #2
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 621
    Points : 15 700
    Points
    15 700
    Par défaut
    En java un classe peut en effet contenir une autre classe. Mais cela n'implique pas forcément qu'il y aura une relation de composition entre la classe et les classe internes.

  3. #3
    Débutant  
    Inscrit en
    Décembre 2008
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 163
    Points : 41
    Points
    41
    Par défaut
    merci bien pour la réponse,

    donc si je mets un lien de composition entre classe et elle meme, c'est faux d'un point de vue conceptuel?

    merci encore

  4. #4
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Points : 2 161
    Points
    2 161
    Par défaut
    Tu peux très bien avoir une référence d'une classe X comme membre d'une classe X, ça ne pose aucun souci.

    Par exemple, tu pourrais vouloir faire une classe qui soit elle-même une liste chaînée, ie. qui contient des références vers l'instance précédente et/ou suivante de la même classe
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    public class MaClasse {
        // pour générer un ID unique:
        private static int uniqueIdCounter = 0;
     
        public int instanceId;
     
        // la référence vers l'instance suivante de ma liste:
        public MaClasse nextInstance = null;
     
        public MaClasse(MaClasse previousInList) {
            instanceId = uniqueIdCounter++;
            if (previousInList != null)
                previousInList.nextInstance = this;
        }
     
        public static void main(String[] args) {
     
            // on créé les instances et la liste:
            MaClasse x1, x2, x3, x4;
            x1 = new MaClasse(null); // x1 est le premier de la liste
            x2 = new MaClasse(x1); // x2 à la suite de x1
            x3 = new MaClasse(x2); // x3 à la suite de x2
            x4 = new MaClasse(x3); // x4 à la suite de x3
     
            // on itère sur notre liste:
            MaClasse it = x1;
            while (it != null) {
                System.out.println("instance = "+it.instanceId);
                it = it.nextInstance;
            }
        }
    }

  5. #5
    Membre confirmé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Points : 594
    Points
    594
    Par défaut
    Tu depend ce que tu entends par composition.
    Tu peux faire comme l'indique nouknouk, à moins que ce que tu cherches c'est de l'agrégation.

  6. #6
    Débutant  
    Inscrit en
    Décembre 2008
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 163
    Points : 41
    Points
    41
    Par défaut
    merci pour vous tous,
    ce que je veux savoir au juste le voilà:

    j'ai un besoin qui se résout en ajoutant un lien de composition dans le metamodele JAVA entre le concept classe et lui meme donc est ce que c correcte ca?

    merci

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/03/2012, 17h27
  2. Réponses: 4
    Dernier message: 03/09/2010, 15h52
  3. Réponses: 3
    Dernier message: 09/04/2008, 11h24
  4. Recupérer une classe interne avec Class.forName
    Par Pragmateek dans le forum Général Java
    Réponses: 4
    Dernier message: 24/02/2008, 20h53
  5. Classe anonyme et classe interne
    Par amazircool dans le forum Langage
    Réponses: 8
    Dernier message: 26/12/2007, 14h45

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