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 :

Comment différencier deux classes dérivées, créant une même classe ?


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2012
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 31
    Points : 15
    Points
    15
    Par défaut Comment différencier deux classes dérivées, créant une même classe ?
    Bonjour tout le monde,
    j'ai une classe A super classe de B,C et D!
    B et C ont les droits différents, c'est à dire que l'une est différente de l'autre.

    Mais, une classe X peut soit être créée par B, sinon c'est C qui la crée.

    pour l'implémentation, si j'applique le concept utilisé pour l'implementation d'une association, j'aurais donc:
    public class X{
    ....
    private B b;
    private C c;
    ...}

    chose qui n'est pas possible, parce que la classe X doit être crée par un et un seul utilisateur!!

    Merci d'avance!!!

  2. #2
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2008
    Messages
    1 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 190
    Points : 2 657
    Points
    2 657
    Par défaut
    Je pige pas très bien ce que tu veux.

    Si X est crée par B ou C, quel rapport a ce que X ait un attribut B et C?

    Et je vois pas non plus ce que tu veux dire avec "la classe X doit être crée par un et un seul utilisateur"

  3. #3
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    En lisant le titre, j'ai pensé à "instanceof". Mais en lisant l'explication, .

  4. #4
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    Non, tu auras
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public class X{
     
        private A proprio;
     
        public X (A createur) {
            proprio = createur;
        }
    }
    Ensuite, tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    X x1 = new X (new B());
    X x2 = new X (new C());
    x1 aura un B comme proprio, x2 aura un C
    Sans danger si utilisé conformément au mode d'emploi.

    (anciennement BenWillard, enfin moins anciennement que ... enfin bon c'est une longue histoire... Un genre de voyage dans le temps...)

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2012
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 31
    Points : 15
    Points
    15
    Par défaut
    Re,
    Merci d'avoir répondu aussi vite

    Citation Envoyé par deathness Voir le message
    Je pige pas très bien ce que tu veux.

    Si X est crée par B ou C, quel rapport a ce que X ait un attribut B et C?

    Et je vois pas non plus ce que tu veux dire avec "la classe X doit être crée par un et un seul utilisateur"
    la classe A a 3 sous classes, sauf B et C qui ont le droit de créer une classe X, la sous-classe D n'en a pas alors (Sinon, j'aurais pu mettre classe A crée classe X).

    en gros, je voulais savoir ce que doit contenir le corps de la classe X!!


    Citation Envoyé par JoeChip Voir le message
    public class X{

    private A proprio;

    public X (A createur) {
    proprio = createur;
    }
    }
    Ensuite, tu peux faire

    X x1 = new X (new B());
    X x2 = new X (new C());

    x1 aura un B comme proprio, x2 aura un C
    oui JoeChip, c'est exactement ce que je voudrais savoir, mais où dois-je mettre ces deux lignes?

  6. #6
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2008
    Messages
    1 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 190
    Points : 2 657
    Points
    2 657
    Par défaut
    Citation Envoyé par JoeChip Voir le message
    Non, tu auras
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public class X{
     
        private A proprio;
     
        public X (A createur) {
            proprio = createur;
        }
    }
    Ensuite, tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    X x1 = new X (new B());
    X x2 = new X (new C());
    x1 aura un B comme proprio, x2 aura un C
    C'est marrant c'est en lisant ça que j'ai pigé ce qu'il voulait

    << km200 : Et bien tu mets l'une ou l'autre de ces lignes lorsque tu veux créer un X (Lorsque ton utilisateur choisit d'en créer une si j'ai suivi)

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2012
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 31
    Points : 15
    Points
    15
    Par défaut
    deathness tu es méchant


    sinon, je vous remercie beaucouppppp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 16/08/2010, 17h42
  2. Réponses: 7
    Dernier message: 03/12/2008, 15h18
  3. Réponses: 5
    Dernier message: 30/01/2007, 13h23
  4. [Débutant]Deux Threads différent dans une même classe?
    Par nicofromChina dans le forum Concurrence et multi-thread
    Réponses: 10
    Dernier message: 26/01/2007, 15h58
  5. [POO] Deux constructeurs pour une même classe
    Par amika dans le forum Langage
    Réponses: 4
    Dernier message: 16/12/2006, 16h31

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