Partage
  • Partager sur Facebook
  • Partager sur Twitter

Polymophisme en java.

Polymophisme en java.

    4 avril 2009 à 0:36:15

    Salut.
    Je veux savoir et ce qu'on parle sur le polymophisme seul lorsequ'on abstract ou bien une méthode qui est définit à patir de la class mère et redéfinit dans les classes filles.? :(
    • Partager sur Facebook
    • Partager sur Twitter
      4 avril 2009 à 0:40:33

      On parle de polymorphismes , surtout dans les methodes redefinies dans les classes filles.

      Car on peut à partir de la classe mere acceder aux methodes de la classe filles et vice versa, pour cela il faut faire des cast.
      Le upcasting en java est fait automatiquement ce qui n'est pas le cas du downcasting.
      • Partager sur Facebook
      • Partager sur Twitter
      J'ai tous les badges d'OpenClassrooms.
        4 avril 2009 à 0:58:56

        J'ai une classe mere qui contient des attributs privé et je veux faire le polymorphisme avec une mèthode.le probleme que la methode va retourner float mais dans la classe mere ne va me rien retourner.
        • Partager sur Facebook
        • Partager sur Twitter
          4 avril 2009 à 1:14:34

          tu decris dans la classe mère la méthode vide a l'interieur.
          dans la classe fille tu decris la methode avec les details que tu veux.
          Quand tu voudra executer la bonne méthode, tu creera un objet de la classe fille et tu lui appliquera la méthode.
          Si tu as du mal tu peux poster ton code
          • Partager sur Facebook
          • Partager sur Twitter
          J'ai tous les badges d'OpenClassrooms.
          Anonyme
            4 avril 2009 à 1:14:58

            Le type de retour n'entre pas dans la signature de méthode c'est une redéfinition valide.
            • Partager sur Facebook
            • Partager sur Twitter
              4 avril 2009 à 1:29:16

              J'ai fait void getInfsSalaire(){} dans la class mere et float getInfsSalaire() et il ma donner erreur.
              • Partager sur Facebook
              • Partager sur Twitter
                4 avril 2009 à 1:34:33

                tu devrais modifier ta classe mère avec la méthode : float getInfsSalaire() ; car les signature sont les mêmes pour qu'on parle de redefinition
                • Partager sur Facebook
                • Partager sur Twitter
                J'ai tous les badges d'OpenClassrooms.
                  4 avril 2009 à 1:40:31

                  C'est ça mon problème des le début. j'ai rien a retourné dans la class mere. o_O
                  • Partager sur Facebook
                  • Partager sur Twitter
                    4 avril 2009 à 1:50:21

                    justement dans ta classe mère tu retourne 0.0 et tout s'arrange, de toute façon tu ne l'utilisera jamais cette méthode, et meme si elle est lancée elle te renvoerra 0
                    • Partager sur Facebook
                    • Partager sur Twitter
                    J'ai tous les badges d'OpenClassrooms.
                      4 avril 2009 à 2:01:50

                      En espérant que tu n'aies pas mis private devant ton abstract getInfsSalaire() de ta classe mère.
                      A moins que tu aies fait ceci :
                      abstract void getInfsSalaire(){};
                      

                      Faut pas mettre les accolades.
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        4 avril 2009 à 2:05:52

                        vaudrait peut-être mieux la déclarer abstract et implémenter dans les enfants.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          4 avril 2009 à 13:22:20

                          Est ce que si je declare la mèthode abstract j'ai le drois d'instancier la class mere. (mere x=new mere("alo");) ?
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            4 avril 2009 à 13:32:29

                            Non vu que la classe mère n'est pas "complète" sans l'implémentation des enfants
                            Mais tu peux (et c'est même recommandé) faire Mere m = new Enfant();
                            • Partager sur Facebook
                            • Partager sur Twitter
                              4 avril 2009 à 13:36:41

                              Donc avec une methode abstract j ai pas le doit d instancier. comme si j ai public abstract mere(). ???
                              • Partager sur Facebook
                              • Partager sur Twitter
                              Anonyme
                                4 avril 2009 à 13:45:55

                                C'est quoi la raison pour laquelle tu veux faire un héritage?

                                -si c'est pour réduire le code, oublie
                                -si c'est pour une spécialisation, met le code commun dans une classe abstraite et redéfini les enfants
                                -si il n'y a pas de code commun, utilise une interface

                                Bref la classe parente (la plus haute, avant Object) a rarement de bonne raison d'être concrète.
                                • Partager sur Facebook
                                • Partager sur Twitter

                                Polymophisme en java.

                                × 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