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 :

Récupération d'un objet dans un vecteur


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 35
    Par défaut Récupération d'un objet dans un vecteur
    Bonjour à la communauté,

    Voici le problème auquel je suis confrontée :
    Je possède une classe "client" dans laquelle est créé un vecteur. Ce vecteur contient des instances d'une autre classe appelée "intervention". La question est la suivante : Est-il possible de récupérer dans la classe client un objet du tableau d'interventions et d'appeler les méthodes de la classe "intervention" ?

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Bien sûr, et je ne vois pas ou es la difficultés
    Un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class Client
    {
      private Vector<Intervention> liste_intervention;
     
      ...
     
      public void uneMethode()
      {
        liste_intervention.get( 1 ).uneMethodeDeIntervention();
      }
      ...
    }
    Mais si tu n'utilises pas les générics :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class Client
    {
      private Vector liste_intervention;
     
      ...
     
      public void uneMethode()
      {
        ( (Intervention)liste_intervention.get( 1 ) ).uneMethodeDeIntervention();
      }
      ...
    }
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 35
    Par défaut
    Cette syntaxe là fonctionne, mais je tente en faite d'appeler une intance de client à partir du programme principal et dans cet objet récupérer un objet du vecteur d'interventions et alors utiliser une des méthodes, cela donnerait quelque chose comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    client1.liste_interventions.get(i).uneMethodeDeIntervention();
    Cela ne semble pas fonctionner, j'espère être assez clair dans mon explication

  4. #4
    Membre Expert
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Par défaut
    Cela ne semble pas fonctionner, j'espère être assez clair dans mon explication
    C'est quoi qui ne fonctionne pas ? Compilation ? Exécution ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 35
    Par défaut
    C'est au niveau de la compilation, il faudrait que je récupère un objet intervention dans le vecteur d'interventions et ce dans une instanciation de client, donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Intervention inter = clientselect.liste_interventions.get(1);
    Mais le programme affiche qu'il y a une incompatibilité de type

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Par défaut
    Citation Envoyé par Madoka Voir le message
    Je possède une classe "client" dans laquelle est créé un vecteur. Ce vecteur contient des instances d'une autre classe appelée "intervention".
    La question est la suivante : Est-il possible de récupérer dans la classe client un objet du tableau d'interventions et d'appeler les méthodes de la classe "intervention" ?
    Bah oui, on peut. Évidemment.

    Quel est ton problème ? La récupération d'un objet dans le vecteur ?
    Si ton "vecteur" est un objet de type Vector, je t'invite à consulter la doc pour trouver la méthode adaptée. Par ailleurs je me permets de te signaler que cette classe est déconseillé et qu'il vaut mieux utiliser ArrayList par exemple.

  7. #7
    Membre émérite Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Par défaut
    Je pense que la solution de trouve dans la première réponse que tu as obtenu de Dinobogan, à savoir utiliser les générique (Vector<Intervention>) ou le cast:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((Intervention) client1.liste_interventions.get(i)).uneMethodeDeIntervention()
    Autrement il va falloir que tu postes ton code et ton exception, ce qui nous rendrait la tâche beaucoup plus simple...

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 35
    Par défaut
    Finalement la solution était bien dans la réponse de Dinobogan, en déclarant dans la classe client :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      private Vector<Intervention> liste_intervention;
    il est possible de faire un appel à partir du main d'une instanciation de client :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Intervention inter = client1.liste_intervention.get(i);
    Comme l'appel de la classe client nécessitait elle aussi un cast, le programme ne semblait pas comprendre, le générique a réglé le problème.

    Merci de votre aide

  9. #9
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Par défaut
    Citation Envoyé par Madoka Voir le message
    Comme l'appel de la classe client nécessitait elle aussi un cast, le programme ne semblait pas comprendre, le générique a réglé le problème.
    Comment ça ? un ((Intervention)((Client)client1).liste_intervention.get(i)).uneMethodeDeIntervention() (aussi clair que lisible ) ne suffisait pas ?
    Enfin, utiliser les génériques c'est bien, hein c'est juste que je ne comprends pas quel était ton problème auparavant...

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 01/05/2009, 16h41
  2. Récupération de sous objet dans une JSP
    Par requiem29 dans le forum Struts 2
    Réponses: 0
    Dernier message: 10/11/2008, 10h43
  3. Réponses: 4
    Dernier message: 29/06/2007, 12h17
  4. Tri d'objets dans un vecteur
    Par Jahjouh dans le forum C++
    Réponses: 5
    Dernier message: 26/01/2006, 19h23
  5. destruction d'objets dans un vecteur
    Par titouille dans le forum C++
    Réponses: 12
    Dernier message: 28/07/2005, 20h20

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