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

Diagrammes de Classes Discussion :

[Diag de classes] heritage à travers paquetages ?


Sujet :

Diagrammes de Classes

  1. #1
    Invité
    Invité(e)
    Par défaut [Diag de classes] heritage à travers paquetages ?
    tout le monde !!

    dans le cadre de la realisation d'un forum, j'ai une classe MessageTopic qui est dans un package forum. je veux que cette classe hérite de la classe Message, qui elle est dans le package partiePrivee.

    le package forum est un sous-package du package partiePrivee. normalement, cet heritage devrait etre faisable, non ?

    et pourtant, mon AGL (Objecteering, par ailleurs tres agreable et fonctionnel) me le refuse !!! il me sort un
    -------------------------------------------------------
    Error : Class "::partiePrivee::forums::MessageTopic" - Accessibility. The element cannot access the ::partiePrivee::Message class.
    Help : The class used (generalization, association, use) must be visible by the class package.
    -------------------------------------------------------
    3 questions se posent donc à moi :
    1) peut-on faire ça en UML ? faire heriter une classe d'une classe située dans le package pere ?
    2) que dois-je faire pour rendre la classe Message visible par la classe MessageTopic ?
    3) est-ce que la situation est la meme avec un autre AGL ?

    merci d'avance

  2. #2
    Membre éclairé Avatar de le Daoud
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2002
    Messages : 287
    Par défaut
    Salut torvalds17,

    Cela me parait très bizarre de faire une généralisation dans deux packages différents.
    La généralisation entraine un couplage très fort entre les classes. De plus c'est une relation de type "est un", alors pourquoi une classe dans un package et l'autre dans un autre. Soit ton problème doit être résolu différement, soit les classes doivent être dans le même package.

    voilà l'avis d'un galérien d'uml

    a+
    daoud

  3. #3
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Billets dans le blog
    2
    Par défaut
    Eh, le Daoud que fais tu des librairies qui définissent des types de base. Il faut bien les spécialiser et pour autant les classes que l'on va créer ne seront pas dans le même package, et pour cause...

    Je problème est ici plus lié à l'outil je pense. Dans Rose ou XDE, on n'a pas de problème d'héritage comme cela. Est-ce parce que ces outils n'implémentent pas une contrainte d'UML !??

    On peut définir la visibilité d'une classe au sein d'un package aussi, si une classe est déclarée privée, on ne doit pas pouvoir l'utiliser dans d'autres packages même dans un sous-package (je suis sûr à 90%, si qqu'un d'autre pouvait confirmer !?).

  4. #4
    Membre éclairé Avatar de le Daoud
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2002
    Messages : 287
    Par défaut
    Oui désolé
    En plus je suis trop con, c'est ce que je fais fréquement, je ne sais pas ce qui m'a pris ! Vraiment je suis confus. Merci ego.

    a+
    daoud

  5. #5
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Billets dans le blog
    2
    Par défaut
    bon allé pour cette fois ça va !
    mais n'y reviens plus !!

    Bon et la solution à ce problème d'outil, c'est quoi alors ?

  6. #6
    Invité
    Invité(e)
    Par défaut
    ben comme je l'expliquais dans mon premier post, ces classes sont forcement dans des packages differents, car la classe Message est une classe generique qui interviendra partout dans la partie privee du site ; alors que la classe MessagePrive n'interviendra que dans la partie MP ; et que la classe MessageTopic n'interviendra que dans la partie Forums...
    les MP et les Forums sont des sous-parties de la partie Privee, c'est pour ça que j'ai fait un systeme de package - sous-package...

    en fait j'ai regardé le probleme de visibilité de classe, mais toutes les classes sont mises public par defaut dans Objecteering... donc ça ne doit pas poser de probleme...

    en tous cas, ego, tu penses que c'est plus un probleme d'outil qu'un pur probleme UML ? cet heritage est donc theoriquement possible ?

  7. #7
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Billets dans le blog
    2
    Par défaut
    oui !

  8. #8
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Billets dans le blog
    2
    Par défaut
    je crois me rappeler que certains outils demande à ce que l'on créé une relation de dépendance entre 2 packages avant de pouvoir créer des relations entre 2 classes, chaucune dans l'un de ces packages.

    Essayes donc de créer une dépendance entre tes 2 packages

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par ego
    je crois me rappeler que certains outils demande à ce que l'on créé une relation de dépendance entre 2 packages avant de pouvoir créer des relations entre 2 classes, chaucune dans l'un de ces packages.

    Essayes donc de créer une dépendance entre tes 2 packages
    alors il s'agirait bien de ça , mais il y a un truc bizarre : Objecteering refuse de me créer une dependance forums --> partiePrivee, car le premier est un sous-systeme du second.
    j'ai donc essayé un truc un peu bizarre, à savoir une dependance entre le package forums et la classe Message, et là ça fonctionne !!! .

    dans un sens ça fait bizarre un package qui depend d'une classe (est-ce bien valide UML ? je me mefie un peu avec Objecteering ), mais d'un autre coté, quand on le dit ça parait logique : "aller dans le forum necessite l'existence de la classe Message"

    bon allez, je le met en [résolu], meme si c'est pas super niveau formalisme

    merci ego ;-)

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

Discussions similaires

  1. Diag. de classe en MVC pour asp.net ?
    Par lolymeupy dans le forum MVC
    Réponses: 3
    Dernier message: 18/05/2011, 12h50
  2. classe / heritage / classe abstraite
    Par pepito31 dans le forum Langage
    Réponses: 13
    Dernier message: 09/08/2007, 15h18
  3. Générer un graphique du diag de classe ?
    Par kimz dans le forum EDI et Outils pour Java
    Réponses: 3
    Dernier message: 12/02/2007, 22h38
  4. classe privée dans un paquetage
    Par volontier dans le forum Langage
    Réponses: 3
    Dernier message: 17/06/2006, 01h32
  5. class heritage surcharge
    Par blackadder dans le forum C++
    Réponses: 5
    Dernier message: 16/06/2006, 16h24

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