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 :

Problème d'heritage dans vecteur


Sujet :

Langage Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Problème d'heritage dans vecteur
    Bonjour à tous.

    A la base, je suis programmeur Delphi/VB, mais pour des raisons de nouvelle stratégie de mon employeur, je dois me mettre au j2ee si je veux garder mon job. Alors je m'exerce avec le Java Studio de Sun (JVM 1.5). Voici mon problème:

    Je veux découper un texte en phrases, puis découper les phrases en mots afin de les analyser. La partie découpe fonctionne bien. J'ai crée 3 interfaces, texteCollection, phraseCollection et motCollection qui contiennent quelques déclarations génériques. Puis j'implémente ces trois interfaces par trois classes respectives et je crée des vecteurs pour les phrases et pour les mots dans chaque phrase.

    Depuis une fonction, je découpe donc mon texte et alimente ces vecteurs phrases et les vecteurs mots que je crée à la volée. Simplement que les instances ne sont pas séparées (ce que j'attendrais en fait vu que je les crée avec "classeMot X = new classeMot").

    Lorsque j'assigne les mots à la classe, toutes les instances adoptent ce paramètre, je me retrouve donc à la fin avec un résultat d'une centaine de fois le mot "final" (qui est le dernier mot dans le texte d'essai).

    Ou puis je me documenter sur ce problème? Ou encore, existe-t-il une résolution simple pour ça?

    Merci d'avance,

    Coco

  2. #2
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    j'ai rien saisi, un peu de code pour m'éclairer ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Je me suis mal exprimé, désolé. J'ai avancé un peu et fait beaucoup de recherches. Voila ce que je fais:

    J'ai crée une classe "document" comme container pour le texte à traiter. Pas de problème ici.

    Ensuite j'ai une classe "phrases" qui étend la classe java.util.vector.
    Je découpe le texte en phrases, et chaque phrase en mots. Je crée un élément de vecteur pour chaque phrase que je remplis avec un array de type String()() contenant les mots de la phrase.

    Une fonction analyse chaque mot, en piochant dans une base de données et ajoute dans cet array des informations concernant chaque mot (par.ex. "nom commun", masculin, pluriel).

    J'ai essayé de créer une classe "mot", qui structure ces informations de façon propre, avec des méthodes et des champs (types primitifs) définis pour le mot, le type, sexe, etc.
    En principe cela fonctionnerait, mais il ne semble pas possible de créer des instances pour cette classe à la volée.

    Si je fais quelque chose genre:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for (int x; x < y; x++){
    phrases.addElement(new classeMot());
    }
    cela fonctionne à priori, mais toutes les instances de classeMot pointent apparemment vers le même élément de base. Un debug pas par pas démontre que, quel que soit l'élément que je change, tous les autres sont affectés immédiatement du même changement.

    J'éspère que cette fois le problème est expliqué de façon claire.

    Existe-t-il une solution à ce problème?

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 9
    Points : 9
    Points
    9
    Par défaut
    Salut !

    dans ton code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for (int x; x < y; x++){phrases.addElement(new classeMot());
    }
    il est normal que tu créé tout le temps la même classeMot avec toujours les mêmes propriétés. Elle est toujours créé de la meme facon, et sans argument.

    2 solutions pour toi : soit donner des parametres au constructeur pour leur donner des particularités. Donc pourrais avoir qq chose comme ca:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for (int x; x < y; x++){phrases.addElement(new classeMot( param1 , param2 ));
    }
    ou alors tu fais ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    for (int x; x < y; x++){
    classeMot monnouveaumot = new classeMot();
    monnouveaumot.truc = param1;
    monnouveaumot.truc = param2;
    phrases.addElement(monnouveaumot);
    }
    j'espere que j'ai pas repondu à coté de la plaque !

Discussions similaires

  1. Problèmes de redondances dans un vecteur
    Par le.nono dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 25/02/2012, 09h21
  2. [MCD] Probléme heritage dans un MCD
    Par manu11 dans le forum Schéma
    Réponses: 2
    Dernier message: 05/07/2009, 13h18
  3. Problème de pointeur dans un vecteur
    Par sylsau dans le forum C++
    Réponses: 23
    Dernier message: 22/08/2007, 09h25
  4. Réponses: 19
    Dernier message: 27/08/2003, 15h32
  5. problème de guillemets dans une formule shell
    Par dim_italia dans le forum VBA Access
    Réponses: 7
    Dernier message: 18/08/2003, 12h46

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