Partage
  • Partager sur Facebook
  • Partager sur Twitter

Qu'est-ce qu'un objet composite?

    1 octobre 2012 à 15:20:57

    Bonjour,
    j'aimerai comprendre en détail la notion d'objet composé d'objet, son utilité
    merci
    • Partager sur Facebook
    • Partager sur Twitter
      1 octobre 2012 à 15:41:59

      t'as vu ça où ?
      • Partager sur Facebook
      • Partager sur Twitter

      Python c'est bon, mangez-en. 

        1 octobre 2012 à 15:45:50

        bah dans le tutoriel et dans le livre les objets composites (objet composé d'objet) comme les listes ,les dictionnaires,...
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          1 octobre 2012 à 15:50:06

          Comme dans toutes les notions de POO, ça sert à la modélisation. Ça rendra votre code plus lisible et maintenable.

          Si vous voulez plus de précisions, indiquez une question précise.
          • Partager sur Facebook
          • Partager sur Twitter
            1 octobre 2012 à 15:57:17

            ça me perturbe:un objet composé d'un objet au niveau des méthodes de chaque objet qui a accès à quoi?
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              1 octobre 2012 à 16:10:48

              Ce que j'ai compris (je suis autodidacte)

              Vous avez 3 types de relation entre objet :

              • association
              • agrégation
              • délégation


              Vous devez parler de l'agrégation, je suppose.

              Exemple :

              Une voiture est composée de

              • roues
              • moteur
              • ...


              Le but est de dire une voiture a un moteur, a des roues, ...

              L'objet est composé de plusieurs attributs qui sont des objets.

              Je sais pas si j'ai été clair, mais voilà ma façon de penser par rapport à ce que j'ai lu.
              • Partager sur Facebook
              • Partager sur Twitter
                1 octobre 2012 à 16:34:17

                c'est exactement ça !dans le livre il donne comme exemple des objets composites comme les dictionnaires les listes, des objets qui sont eux-meme composés d'objets (donc avec des méthodes)
                donc ça me perturbe au niveau des méthodes!
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  1 octobre 2012 à 17:11:23

                  les méthodes sont des actions liées à l'objet, rien ne change...

                  quel est le problème? avez vous un exemple de code que je puisse vous expliquer?
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    1 octobre 2012 à 17:55:02

                    Bonjour,

                    Voilà un petit exemple construit "sur les genoux" pour voir comment on accède à un objet inclus dans un autre:

                    class Objet1(object):
                    
                        def affiche(self):
                            print "je suis dans l'objet1 inclu dans l'objet2"
                    
                    class Objet2(object):
                    
                        def __init__(self):
                            self.obj1 = Objet1()
                    
                        def affiche(self):
                            print "je suis dans l'objet2"
                    
                    obj2 = Objet2()
                    
                    obj2.affiche()
                    # affiche: je suis dans l'objet2
                    
                    obj2.obj1.affiche()
                    #affiche: je suis dans l'objet1 inclu dans l'objet2
                    


                    • Partager sur Facebook
                    • Partager sur Twitter
                      1 octobre 2012 à 22:35:14

                      par exemple une liste de "mots" (objet)
                      mots=[jambon,fromage,confiture,chocolat]
                      c'est bien un objet composite (source livre),un objet
                      composé d'objets (ici des chaines)

                      on me dit tout est objet en python, j'ai donc la liste
                      avec ses attributs et ses méthodes disponibles
                      et des chaines de caractère avec ses atributs et ses méthodes disponibles
                      j'avoue je suis perdu
                      • Partager sur Facebook
                      • Partager sur Twitter
                        2 octobre 2012 à 0:54:44

                        c'est pas faux ...
                        • Partager sur Facebook
                        • Partager sur Twitter

                        Python c'est bon, mangez-en. 

                        Anonyme
                          2 octobre 2012 à 6:42:51

                          Bonjour,

                          Mais non, c'est facile! Exemple:

                          mots=["jambon","fromage","confiture","chocolat"]

                          mots est une liste composée de len(mots)=4 éléments qui sont des chaines de caractères.

                          mots[2] est le 3e élément de la liste (puisque les indices commencent à zéro), c'est à dire "confiture": c'est une chaine.

                          On peut donc appliquer à mots[2] les méthodes des chaines: par exemple, mots[2].upper() met confiture en majuscule: ===> "CONFITURE".

                          Une liste peut comporter n'importe quoi, y compris des listes (qui, elles-mêmes, etc...): on arrive donc à représenter des arbres: mots=["jambon","fromage","confiture",["tartine", ["pain", "beurre"]], "chocolat"]. On attendra "pain" avec: mots[3][1][0] qui, étant une chaine de caractères, pourra bénéficier des méthodes associées: mots[3][1][0].upper() ===> "PAIN".


                          • Partager sur Facebook
                          • Partager sur Twitter
                            2 octobre 2012 à 11:02:38

                            c'est bien ce qu'il a dit ...

                            Citation

                            c'est bien un objet composite (source livre),un objet
                            composé d'objets (ici des chaines)

                            • Partager sur Facebook
                            • Partager sur Twitter

                            Python c'est bon, mangez-en. 

                              2 octobre 2012 à 12:39:45

                              ok je te donne un exemple d'objet composite du livre
                              il s'agit d'une classe rectangle avec ses atributs largeur hauteur coin
                              et coin serait un objet point (X,Y)

                              Image utilisateur

                              ce schéma montre clairement un exemple d'objet composite maintenant comment ça se passe avec les objets tels que la liste donnée comme exemple (je te jure,j'arrive pas à comprendre )
                              • Partager sur Facebook
                              • Partager sur Twitter
                                2 octobre 2012 à 13:23:23

                                Qu'est-ce que tu veux dire par "comment ça se passe", précisément ?

                                J'ai l'impression que cette notion t'a été introduite trop tôt et qu'elle est en train de te mettre dans le flou plus qu'autre chose.

                                Une liste, c'est un objet dont le rôle est de "contenir" d'autres objets. Ses méthodes (à la liste), permettent d'accéder à ses éléments, de la parcourir, de lui ajouter ou de lui retirer des éléments, etc.
                                Maintenant, si tu veux utiliser l'un de ses éléments, il te suffit d'y accéder en utilisant les méthodes de la liste (ou la syntaxe appropriée, ce qui revient complètement au même), afin de récupérer l'élément qui t'intéresse.

                                À partir de là, il n'est pas spécialement utile de faire la distinction entre aggrégation, association et composition en ce qui te concerne (d'ailleurs l'exemple donné par fred est aussi un peu incomplet à mon goût). En python, ça se traduit simplement par le fait qu'un objet composite, c'est un objet qui encapsule ("possède") d'autres éléments.

                                Par exemple : Une "personne", à la sécu, est composée d'une adresse, d'un nom, et d'un numéro de sécurité sociale. Une voiture est composée d'un moteur, de roues, d'une carosserie.

                                Ce qui caractérise un objet composite, c'est que les éléments qui le composent n'ont plus de raison d'exister lorsque tu détruis cet objet, et inversement : une voiture sans roue ne sert à rien, au même titre qu'une roue sans voiture. La durée de vie d'un objet composite est intimement liée à celle des éléments qui le composent.

                                À l'inverse, dans une relation d'agrégation ou d'association, la durée de vie de l'agrégat est complètement indépendante de celle des objets agrégés.

                                Mais encore une fois, tout ceci, ce n'est que de la théorie, et tu ne devrais pas te prendre la tête là-dessus si ça ne te semble pas clair. Il arrivera juste un moment où ça te semblera couler de source (et tu t'en foutras complètement de savoir le nom que ça porte), à force de concevoir des programmes orientés objet.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                Zeste de Savoir, le site qui en a dans le citron !

                                Qu'est-ce qu'un objet composite?

                                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                • Editeur
                                • Markdown