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

UML Discussion :

Changement dynamique de type


Sujet :

UML

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 124
    Points : 89
    Points
    89
    Par défaut Changement dynamique de type
    Bonjour,

    Dans une hiérarchie d'objets j'aimerais pouvoir faire changer dynamiquement un objet de type. J'ai un objet B (objet applicatif) qui hérite d'un objet A (objet générique réutilisable).
    Je ne peux donc pas mettre une méthode dans l'objet A du genre "changerEnB" sinon je ne le rendrais plus réutilisable.
    De plus, j'ai lu à qq part que c'est très mauvais de vouloir faire changer le type d'un objet.
    Comment dois-je procéder pour faire proprement (quitte à ne pas utiliser l'héritage) ?

  2. #2
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 532
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 532
    Points : 6 704
    Points
    6 704
    Par défaut
    le changement de type n'est en effet pas tres recommande (une cellule qui mute c'est souvent un cancer !) ... et pas possible pour les langages C++ / Java etc ...
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 124
    Points : 89
    Points
    89
    Par défaut
    et donc ? quelle(s) technique(s) peuvent être utilisées pour contourner le pb ?

  4. #4
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 532
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 532
    Points : 6 704
    Points
    6 704
    Par défaut
    au cas ou j'aurais mal compris tes intentions : tu veux un 'vrai' changement de type c.a.d. une mutation de l'instance, ou un cast ou equivalent ?
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 124
    Points : 89
    Points
    89
    Par défaut
    Prenons un cas concret.
    Une application doit gérer une liste de produits (appellons-là "Appli")
    Oui mais voilà : un produit est une notion, somme toute, relativement générique et donc réutilisable dans des contextes différents.
    Une idée :
    Utiliser deux classes : une classe Produit générique, et une classe ProduitAppli héritant de Produit, spécifique à l'application (car il contient par exemple un attribut ou une méthode qui est totalement propre à l'application).
    Seulement, l'application doit pouvoir spécifier que tel ou tel produit fera ou non partie de l'application !
    On aurait donc une liste de "Produit" que l'on pourra "muter" en "ProduitAppli" si on veut les intégrer dans l'application, d'où le problème.
    Est-ce plus clair ?

  6. #6
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 532
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 532
    Points : 6 704
    Points
    6 704
    Par défaut
    si j'ai bien compris tu as une lib qui définie Produit et tu l'utilises dans ton appli qui elle veut finalement utiliser des ProduitAppli. Dans le cas les mutations sont inutiles : il faut qu'il y ai creation de ProduitApplis et jamais de Produits, meme si Produit ne le sait pas grace par exemple au design pattern 'fabrique'
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 124
    Points : 89
    Points
    89
    Par défaut
    ok j'vais voir du côté des design patterns.
    Merci en tout cas

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

Discussions similaires

  1. Changement dynamique du type de colonne dans un datagridview
    Par hotsizzle dans le forum Windows Forms
    Réponses: 1
    Dernier message: 17/03/2009, 14h32
  2. [C#] Changement dynamique de police (nfop) ?
    Par Amerok dans le forum ASP.NET
    Réponses: 2
    Dernier message: 25/06/2008, 12h42
  3. Changement dynamiquement de la GDB distante en local
    Par ada_b dans le forum Débuter
    Réponses: 4
    Dernier message: 18/05/2005, 14h15
  4. Changement dynamique d'une iframe
    Par davids21 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/05/2005, 14h30
  5. [LG]Problême Variable dynamique de types différents
    Par pierrOPSG dans le forum Langage
    Réponses: 2
    Dernier message: 29/04/2004, 17h01

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