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 :

[POO] Problème de représentation


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 57
    Par défaut [POO] Problème de représentation
    Bonjour,

    En premier lieu désolée pour le titre, il n'est pas trés clair, mais j'ai pas trouvé mieux :/

    Bon mon problème est un problème de "concept".

    J'ai une classe nommé Sequence. Dans mon programme je me servirais d'une liste de Sequence. L'un des champs de cette classe et une liste d'objets de type Match.

    Un Match et une portion de Sequence qui "match" avec un motif (ici une suite de caratère). A un moment dans ce programme je dois comparer tout les objets de type Match avec une autre liste, ce qui me permettras de compléter leur attribut.
    (Les Match possédent un atribut Position qui est leurs position sur la Sequence, en comparant cette position avec une liste de positions connue je peu déduire qu'elle sont les attributs du match en question.)

    Ma question est donc la suivante, qui doit posséder la méthode de comparaison entre les Match et l'autre liste?

    Je sais pas si je suis assez clair mais j'éspère que c'est le cas.

    Merci d'avance pour toute aide

    Mayeu

  2. #2
    Membre chevronné Avatar de Rayndell
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 289
    Par défaut
    Que dis tu comparer exactement ? Si c'est les Match, il suffit de redéfinir dans la classe Match la méthode equals commune à tous les objets. Sinon je pense que tu peux également faire une méthode dans Sequence qui compare deux listes de Match, en utilisant la méthode equals de Match que tu auras redéfini.

  3. #3
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Je suis un peu réservé par le choix du JDK, de donner une méthode equals à chaque objet. Pour moi, c'est toujours une chose extérieure qui est susceptible de comparer.

    Bon, mais enfin, on va pas en faire une maladie.

    Donc, la réponse à la question Qui doit posséder la méthode de comparaison entre les Match et l'autre liste ? est pour moi Qui

    Pour faire plus intelligent, je te signale qu'il y a dans la classe Arrays des méthodes pour comparer des listes.

  4. #4
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 57
    Par défaut
    Par comparaison, je veux en faite dire que je compare les positions (debut et fin) des match connue, avec les positions des match trouvé. Si le match trouvé poséde une position qui est entre le debut et la fin d'un connue, on lui assigne les mêmes caractéristiques que le connue.

    Dans le cadre de ce que je créé les match connue sont toujours plus "large" que les trouvés. Si un match trouvé ne correspond a aucun connue, alors on voit si il se postionne "entre" des connue.

    Exemple : on a connue1 et connue2, respectivement positionné de 1 à 4 et de 7 à 8.
    match1 est positionner de 2 à 4. Donc match1 est en faite égale a connue1.
    match2 est positionner de 5 à 6. Donc match2 ne fait pas partie de la liste de connue, mais on sait qu'il se trouve entre connue1 et connue2.

    Voila le but de la comparaison en faite. C'est pour cela qu'à la base je ne penser pas redefinir equals, vu qu'il n'y auras pas égalité entre un match connue est un match trouvé.

    Donc au final que vaus t'il mieux, définir une méthode dans sequence, ou faire un "comparateur" à parts?

  5. #5
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Il y a peut être quelque chose quelque part qui spécifie l'organisation de ces choses ; alors c'est lui qui devra contenir cette forme d'equals.

    Ou bien ces règles viennent de contraintes propres à tes listes, ou aux objets des listes... ces règles bizarres ne tombent pas du ciel. Si elles viennent de propriétés spécifiques à ces listes, alors il faut mettre la méthode à la liste.

    C'est une difficulté que de répondre aux problèmes algoritmiques ne comportant que des explications algoritmiques, les objets en deviennent eux mêmes des idées algorithmiques, et on fini par se paumer. Au pire, invente un objet Socrate ou Tales, et fait lui gérer tous tes algos.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 109
    Par défaut
    Citation Envoyé par Mayeu
    Par comparaison, je veux en faite dire que je compare les positions (debut et fin) des match connue, avec les positions des match trouvé. Si le match trouvé poséde une position qui est entre le debut et la fin d'un connue, on lui assigne les mêmes caractéristiques que le connue.

    Dans le cadre de ce que je créé les match connue sont toujours plus "large" que les trouvés. Si un match trouvé ne correspond a aucun connue, alors on voit si il se postionne "entre" des connue.
    Hello,

    Si j'ai bien compris un Match représente un intervalle de caractères. Par "comparaison" tu veux dire que tu cherches à savoir si un intervalle de caractères (objet Match) est inclus dans un autre intervalle de caractères.

    Tu cherches donc à savoir si un objet Match "est inclus" dans un autre objet Match. Qui possède les informations nécessaires pour répondre à cette question ? A priori, les objets Match. Par conséquent, cette responsabilité doit être affectée aux objets Match.

    Je verrai donc par exemple une méthode "public boolean contains(Match m)" dans la classe Match

  7. #7
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    +1 sur l'idée d'un "contains" même si je ne l'appelerais pas trop comme ça (je trouve ça un peu ambigu).
    Mais reste la question de "qui" va appeler contains et gérer l'affectation des attributs aux Matchs ... Pour moi, ça serait plutôt pour le coup un service externe (donc à mon sens ni dans la liste ni dans Match), mais c'est vrai que c'est un peu trop vague "fonctionnellement" pour répondre

  8. #8
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 57
    Par défaut
    Merci d'avoir "planché" sur mon problème! Je pense au final faire un élément indepedant pour faire les comparaison!

    Merci a tous pour votre aide et @ plus tard

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

Discussions similaires

  1. [POO] Problème avec l'utilisation de classes.
    Par sekiryou dans le forum Langage
    Réponses: 3
    Dernier message: 16/02/2006, 18h54
  2. [POO] Problème de code PHP avec Internet Explorer
    Par bzoler dans le forum Langage
    Réponses: 5
    Dernier message: 12/02/2006, 11h00
  3. [AS2] [POO] Problème de duplication d'un MovieClip
    Par segphault dans le forum ActionScript 1 & ActionScript 2
    Réponses: 5
    Dernier message: 11/01/2006, 15h44
  4. [POO] Problème de paramètre passé par référence
    Par dug dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 31/08/2005, 20h29
  5. [POO] Problème lors de l'appel d'une propriété d'un objet.
    Par akecoocoo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/08/2005, 08h51

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