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 :

Stocker la valeur d'une variable issue d'une classe B dans une classe C


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Décembre 2016
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2016
    Messages : 24
    Par défaut Stocker la valeur d'une variable issue d'une classe B dans une classe C
    Bonjour à tous,

    Dans mon programme, j'ai trois classes.

    La classe A, la B et la C.

    Les classes B et C étendent la classe A.

    La classe B me sert à prendre en charge un agent. Une fois les actions de celle-ci terminée, mon agent est créé et est associé à un matricule que je ne connais donc qu'à la fin de ma classe.

    La classe C me permet de réaliser différentes action pour cet agent.

    Mon problème est que je dois lancer la classe B, récupérer le matricule "en dur" avant de pouvoir lancer la classe C.

    Je souhaiterai donc savoir comment récupérer et stocker le matricule de ma classe B pour l'utiliser ensuite dans ma classe C.

    J'ai essayé en indiquant des getters et setters dans la classe A mais le matricule reste null dans la class C.


    Merci

    Hadrien

  2. #2
    Membre Expert
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Par défaut
    C étend aussi A ?
    tu es sûr de cette propriété?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    class C { //extends A?
      // on peut lui demander des tas de choses dont des actions héritées de A par B
     // comme quoi un exemple réel serait plus pertinent
      private B collègue;
      // on ne peut créer de C que quand on a un B
      // mais ça fait bizarre cette relation en tuyau de poële
      // quoique dans le pattern "décorateur" ...
      public C(Schtroumpf str, B collègue) {
        super(str) ;
       this.collègue = collègue ;
      }
      // demande n'importe quoi à B
    }

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Tu pourrais être plus précis dans les rôles des 3 classes ?

    Ce que je comprends :
    - une classe A qui représente une chose
    - une classe B qui est une spécialisation de A (avec certainement des attributs particuliers)
    - une classe C qui est en quelque sorte un processeur d'actions sur des classes A ou B

    Pour des actions particulières sur classe B, elle doit récupérer un matricule... c'est ça ou tout autre chose ?

    Si on est dans ce registre :
    Au niveau de la classe C, j'imagine alors une boucle de traitement sur une liste d'objets A (puisque B étend A)
    Pour discriminer, il suffirait de tester l'appartenance à B (instanceof par exemple) et dans ce cas caster l'objet A en B pour avoir accès au matricule....

    Bref... j'attends tes explications...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Décembre 2016
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2016
    Messages : 24
    Par défaut
    Bonjour,

    professeur shadoko, oui je suis sure.

    En fait, ma classe A me sert à définir tout ce qui est commun à au moins deux autres classe (ici B et C).


    OButterlin, je ne suis pas clair en effet.

    En fait, comme je l'ai dit plus haut, ma classe A regroupe ce qui est générique et je me sers des éléments de cette classe dans toutes les autres.

    Les classes B et C n'ont rien en commun à part la classe A.

    De ce fait, je pensais pouvoir faire une méthode dans ma classe A qui stockerait la valeur du matricule obtenue à la fin des traitements ma classe B puis lancer les traitements de ma classe C avec cette valeur.

    J'espère avoir été plus clair.

    Merci pour votre aide

  5. #5
    Membre Expert
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Par défaut
    Citation Envoyé par hadrien4789 Voir le message
    .
    De ce fait, je pensais pouvoir faire une méthode dans ma classe A qui stockerait la valeur du matricule obtenue à la fin des traitements ma classe B puis lancer les traitements de ma classe C avec cette valeur.

    J'espère avoir été plus clair.
    non ... je n'y voit goutte (en particulier je ne vois pas pourquoi A "connaitrait" B et C).
    En exemple réel nous servirait davantage.

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    J'ai du mal à comprendre, pourquoi parles-tu de "à la fin des traitements ma classe B puis lancer les traitements de ma classe C" ?

    Tu as soit une classe A, soit une classe B, soit une classe C... ce n'est pas un traitement séquentiel là.
    Tu fais un new A() ou new B() ou new C(), quel rapport avec B puis les traitements de C ?

    Comme professeur shadoko, je souhaiterais un exemple de ce que tu veux faire pour comprendre ta problématique.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/05/2014, 10h23
  2. Réponses: 4
    Dernier message: 10/11/2008, 08h04
  3. stocker la valeur d'une cellule effacée au cours de la procédure
    Par NATOU2 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/10/2008, 18h10
  4. Réponses: 2
    Dernier message: 06/06/2008, 16h18
  5. Réponses: 2
    Dernier message: 10/04/2008, 11h48

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