Partage
  • Partager sur Facebook
  • Partager sur Twitter

Créer une méthode abstraite sans préciser les attributs

    11 décembre 2010 à 21:48:38

    Bonjour,

    J'ai une classe abstraite AbstractEdt (edt comme emploi du temp)
    Elle peut dériver en deux classe EdtEleve et EdtProf
    Dans EdtEleve j'aimerai bien avoir une méthode
    ajouterCours(String salle, String nomMatiere, String nomProf)
    
    (cette méthode créer une instance de la classe CrenauxEleve qui dérive de AbstractCrenaux)
    Dans EdtProf j'aimerai bien avoir une méthode
    ajouterCours(String salle, String nomClasse, int numeroGroupe)
    
    (cette méthode créer une instance de la classe CrenauxProf qui dérive de AbstractCrenaux)

    La première solution que je trouve moche c'est de ne rien mettre dans la méthode AbstractEdt, et de définir directement les méthodes dans les deux classes qui dérivent de AbstractEdt.

    J'aimerai bien faire un truc pour dire que les classes filles de AbstractEdt doivent avoir une méthode de nom ajouterCours.

    Quelqu'un aurait une idée ?

    Merci d'avance

    PS : en vrai mon problème n'a rien à voir avec des emploi du temps mais j'ai essayé de le simplifier pour qu'il soit compréhensible
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      11 décembre 2010 à 22:03:53

      la redéfinition n'est pas adequate dans ton cas, en orienté objet il y a le principe de subsitution qui stipule(entre autre) qu'une classe de type du parent peut etre remplacée par la classe du type enfant sans modifier le comportement du programme.

      ici on a clairement 2 comportements completements différents, un eleve n'ayant absolument pas les meme responsabilité qu'un professeur.

      A ta place je mettrais meme pas de classe parent abstraite, ça ne se justifie pas du tout, ils n'ont rien en commun d'un point de vue héritage.
      • Partager sur Facebook
      • Partager sur Twitter
        15 janvier 2011 à 1:17:03

        Je m'étais dit que ça pouvait être une bonne idée car en dehors de cette méthode, mes classes on beaucoup d'attributs et méthodes communes. Il n'y a que pour cette méthode que ça change.
        Mais sans cette méthode la classe mère n'a plus de sens.
        • Partager sur Facebook
        • Partager sur Twitter

        Créer une méthode abstraite sans préciser les attributs

        × 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