Partage
  • Partager sur Facebook
  • Partager sur Twitter

héritage

Sujet résolu
    1 février 2009 à 13:11:44

    Bonjour,

    Je suis en train de réaliser un projet d'école, et je me pose une question concernant l'héritage.
    J'ai une classe abstraite Joueur avec une methode abstraite getCoup.
    J'ai 3 autres classe qui hérite de cette classe. Leur différences sont l'implémentation de la méthode getCoup. Il y a également 2 de ces 3 classes qui possède une méthode reinitialisation().

    Maintenant je dois créer une classe jeu, qui prend un paramètre un objet de type Joueur. Cela veut dire que je pourai envoyer l'instance d'une classe fille de la classe Joueur ? Et dans ce cas, comment pourrai je faire pour essayer d'appeler la méthode reinitialisation() de la classe fille qui a été envoyé, après avoir fait un test pour vérifié qu'elle existe (par exemple if (hasmethod(joueur2,reinitialisation)))

    Sinon si cela n'est pas possible, il y a peut être une erreur dans mon sujet.

    Merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      1 février 2009 à 13:49:47

      Là je te propose de tu mettre la méthode reinitialisation dans la classe abstraite et dans ta 3eme classe tu la redefinie avec aucune action.
      • Partager sur Facebook
      • Partager sur Twitter
      J'ai tous les badges d'OpenClassrooms.
        1 février 2009 à 16:07:33

        Tu peux aussi vérifier quel est ton objet avec un Objet.getClass.getName(). Si ton objet est l'une des deux classes qui contient ta méthode réinitilisation alors tu l'éxécute.

        Autre possibilité, tu vérifie que ta méthode existe dans la classe de ton objet.
        Je ne sais pas si il existe une méthode qui permet de vérifier si la classe contient une méthode définie (et je n'ai pas eclipse d'installer sur ce poste pour vérifier), mais recherche dans la liste si une méthode semble y ressembler.
        Autrement, tu peux la développer. Tu as une méthode getClass().getMethods() qui te renvoi une collection de méthodes. Tu développe une méthode qui prend un String et une classe en entré et qui regarde si la fontion appartient à la liste en renvoyant un booleen.

        Je ne pense pas que cela doit être très complexe.
        • Partager sur Facebook
        • Partager sur Twitter
          2 février 2009 à 13:34:50

          Finalement, j'ai rajouter une méthode réinitialisation dans ma classe abstraite, et ça fonctionne.
          Merci de m'avoir répondu
          • Partager sur Facebook
          • Partager sur Twitter
            2 février 2009 à 13:40:21

            marque donc ton sujet comme résolu
            • Partager sur Facebook
            • Partager sur Twitter
            J'ai tous les badges d'OpenClassrooms.

            héritage

            × 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