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 :

implémentation C++ d'une agrégation


Sujet :

Diagrammes de Classes

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2008
    Messages : 289
    Par défaut implémentation C++ d'une agrégation
    Bonjour,

    j'ai récupéré un cours qui présente une façon d'implémenter différentes relations UML en C++.
    Le texte est à trous et je bloque sur une notion présentée dans l'agrégation par un pointeur. Le texte dit, l'agrégation permet :
    - de bénéficier du polymporphisme (Ok)
    - l'adoption (l'agrégation ne se fait pas à la construction des objets mais n'importe quand).C'est le point qui me gêne...

    Dans le cas d'une classe Voiture en relation avec une classe Moteur, le code donné est:
    (je ne met que ce qui nous intéresse)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    class Voiture {
        private:
    	 Moteur *moteur;    //agrégation par pointeur
    	 char* marque;
        public:
    	Voiture(Moteur*);  //adoption
    };
    
    //adoption
    Voiture::Voiture(Moteur* m): moteur(m)
    {
        //que coder ici à part initialiser la marque ??
    }
    L'adoption se fait donc via un constructeur de Voiture prenant en paramètre un moteur ce qui contredit le fait que l'agrégation ne se fait pas à la construction des objets.
    Pour moi l'adoption serait le fait de construire un voiture sans moteur et d'en adopter un par la suite via un setter par exemple.
    Cette notion d'adoption c'est un "concept" de programmation ?

    Merci

  2. #2
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    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 545
    Par défaut
    je comprends votre scepticisme, surtout qu'il est également possible de remplacer le moteur déjà présent lors de la vie de la voiture

    cette implémentation est peut être 'limitée' pour rester simple et être facilement comparée avec celle utilisant une composition où le moteur n'est pas géré par un pointeur i.e. "Moteur moteur;" etc (bien évidemment une composition n'est pas la bonne solution) ?
    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 éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2008
    Messages : 289
    Par défaut
    Bonjour,
    effectivement, cette histoire d'adoption arrive juste après la présentation d"une composition avec l'exemple que vous décrivez.
    On va dire que c'était à titre de démonstration.

    Merci.

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

Discussions similaires

  1. Comment faire une agrégation à la semaine en SQL ?
    Par KroForK dans le forum Langage SQL
    Réponses: 12
    Dernier message: 08/07/2008, 09h18
  2. [MLD] Implémentation logique d'un agrégat.
    Par Alain Defrance dans le forum Schéma
    Réponses: 6
    Dernier message: 06/06/2008, 02h02
  3. [Win'Design] Comment modélise-t-on une agrégation ?
    Par Nimothenicefish dans le forum Autres
    Réponses: 0
    Dernier message: 18/01/2008, 09h30
  4. Implémentation XOR d'une matrice de 3 dimensions
    Par hutch dans le forum MATLAB
    Réponses: 4
    Dernier message: 04/11/2007, 18h01
  5. pb de passage d'une agrégation d'1 MCD vers le MLD
    Par Angelseb dans le forum Schéma
    Réponses: 5
    Dernier message: 23/01/2007, 02h53

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