Partage
  • Partager sur Facebook
  • Partager sur Twitter

polymorphisme

    14 février 2009 à 12:56:04

    Bonjour, depuis que j'apprends à utiliser la POO j'ai beaucoup beaucoup de mal à comprendre la JAVA et entre autre je n'ai pas du tout compris le polymorphisme...pourriez vous m'éclairer?
    • Partager sur Facebook
    • Partager sur Twitter
      14 février 2009 à 13:20:20

      Je vais essayez de t'expliquez, en fait, ce n'est rien d'autre qu'un conséquence de l'héritage le polymorphisme.
      Imagine que tu ai une classe Point avec des méthodes une méthode pour afficher les coordonnées d'un point, et ensuite il autre classe Cercle qui hérite de Point, comme Cercle hérite de Point, elle possède les variables et méthode de la classe Point.
      Du coup, ta classe Cercle peut redéfinir la méthode pour afficher les coordonnées du point qui est le centre du cercle, et la longueur du rayon du cercle.

      Maintenant imagine que tu ai une classe pour créer des cercles et des points, et ensuite, afficher les informations dessus.
      Bah en fait tu peux utiliser la même méthode pour afficher les informations sur les points et sur les cercle, Java ira rechercher automatiquement la bonne méthode dans la classe point, ou dans la classe cercle.
      Et bah c'est justement ça le polymorphisme!
      La possibilité de pouvoir appelez une même méthode sur des objets qui sont différents.
      Mais attention, ça ne fonctionne que dans le cas de l'héritage.
      Et si par malheur tu as oublier de faire une méthode dans ta classe cercle pour afficher les informations sur le cercle, Java utilisera celle de la classe Point!

      J'espère que mon exemple t'as permis de mieux saisir cette notion.
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        14 février 2009 à 16:17:36

        le polymorphisme ne se limite pas à l'héritage, la surcharge (overloading pas overriding) de méthode est également un cas de polymorphisme (il y a aussi la surcharge d'opérateur en c++ par exemple, mais pas en java).
        • Partager sur Facebook
        • Partager sur Twitter
          14 février 2009 à 19:41:12

          Effectivement lolilolight j'ai maintenant beaucoup mieux compris, par contre un petit exemple très simple serait le bienvenue pour mieux fixer cela dans ma tête :)
          • Partager sur Facebook
          • Partager sur Twitter
            17 février 2009 à 6:29:19

            Bonjour , je crois que je commence à comprendre le polymorphisme .
            Shakhal : la surcharge est-ce que tu sais si c'est aussi appelé le polymorphisme paramétrique ? Parceque beaucoup de sites se contredisent la dessus.


            Pour en revenir au problème de Yourgod2000.

            Imagine une classe Animal et des classes qui en héritent : disons euh Humain et Poisson.

            Animal à une méthode respirer().

            Et bien c'est bien beau de respirer mais un poisson ne respire pas comme un humain. Alors la méthode respirer doit être adapté pour le poisson et pour les humain.

            Par exemple dans Humain.respirer() on va faire intervenir les poumons et dans Poisson.respirer() les branchies. Mais la méthode sera la même à la base : respirer(). Avec le même nom, la même signature, Humains et poissons vont s'en servir chacun à leur manière spécifique pour arriver au même résultat souhaité : respirer

            Oui je sais après relecture mon exemple c de la *#/??[*! mdrr
            • Partager sur Facebook
            • Partager sur Twitter
              17 février 2009 à 8:21:36

              Plutôt bon ton exemple picky41 ;)

              Par contre pour le polymorphisme, la première page que j'ai trouvé sur google explique très bien les différents types de polymorphisme :
              http://www.commentcamarche.net/contents/poo/polymorp.php3
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                17 février 2009 à 10:11:21

                Citation : picky41


                Shakhal : la surcharge est-ce que tu sais si c'est aussi appelé le polymorphisme paramétrique ?



                J'ai déjà vu cette dénomination oui, mais je n'ai pas de source sure.
                Cependant le nom semble correct vu que la modification de forme se fait sur les paramètres.
                • Partager sur Facebook
                • Partager sur Twitter
                  17 février 2009 à 10:17:10

                  Citation : shakhal

                  Citation : picky41


                  Shakhal : la surcharge est-ce que tu sais si c'est aussi appelé le polymorphisme paramétrique ?



                  J'ai déjà vu cette dénomination oui, mais je n'ai pas de source sure.
                  Cependant le nom semble correct vu que la modification de forme se fait sur les paramètres.


                  T'aime pas mon lien c'est ça ? :p
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    17 février 2009 à 10:26:07

                    C'est "CommentCaMarche",ils font de très bonnes choses mais je préfère considérer les sources uniquement spécialisées en développement comme étant des sources sures.
                    • Partager sur Facebook
                    • Partager sur Twitter

                    polymorphisme

                    × 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