Surcharge des méthodes en orientée objet

Bonjour,
Slt
comment faire pour surcharger une méthode
par exemple on a une méthode calculesalaire() qui est commun entre 3 classes qui héritent de la classe personne
j'ai écrit le code de cette méthode dans les 3 autres classe avec la meme signature et pas avec le meme code svp comment je peux surchager cette méthode dans la classe mère
merçi d'avance
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Si j'ai bien compris, tu as des méthodes de même signature dans les classes filles, et tu veux surchager cette méthode dans la classe mère? ça n'a aucun sens je pense.

    Au contraire, imaginons que tu ai une méthode dans ta classe mère, tu peux surcharger cette méthode dans les classes filles. L'inverse n'a aucun sens!
    1. merçi d'abord pou votre réponse
      mais si je veux instancier des objets dans le main
      exmple
      personne2 e[]=new personne2[8];
      e[0]=new patron("boss","AutourDuWorld","1560206789086",1457000,2);
      e[1]=new cadre("arthur","AutourDuWorld","1600206099086",2);
      e[2]=new cadre("Roger","AutourDuWorld","2700206092389",1);
      e[3]=new ouvrier("Bob","AutourDuWorld","1501206099086",80);
      e[4]=new ouvrier("Bobe","AutourDuWorld","2591206099086",80);
      e[5]=new ouvrier ("Bobi","AutourDuWorld","1701105609086",90);
      e[6]=new ouvrier ("Bobo","AutourDuWorld","1551208909086",80);
      e[7]=new ouvrier ("Bobob","AutourDuWorld","1501206099086",99);
      for(int i=0;i<8;i++){
      System.out.println(e[i].getsalaire());
      System.out.println(e[i].getinfo());
      comment il va savoir que getsalaire () est de cadre ou bien de de ouvrier ou bien de patron
  2. En C++ ça marche ^^ java c'est pas mon fort.

    A mon avis ton example fonctionne. Normalement il doit bien s'en sortir seul, vu que e[i] est d'un type définit (patron, cadre, personne, ...).

    Mais pour être sure de toi, affiche un message dans tes méthodes:
    genre "get salaire de la classe personne", tu verras tout de suite si ça marche quand tu fais appel à elles.

    Sinon les pointeurs ça existe pas en java?
    1. merçi pour l'information
      le programme est avec java
      mais ce que je veux dire que il ne me donne meme pas le droit de executer le programme il soulignie en rouge sur getsalaire() et puisque j' instancie un objet de type personne danc je dois avoir cette méthode(getsalaire()) dans la classe mere
    2. En java il n'existe pas de pointeurs ce sont des références. Les références sont des pointeurs plus puissants.
  3. Contributeur
    Oui, il faut avoir la méthode getsalaire dans la classe mère. En C++ il faut déclare une telle méthode virtuelle. En java, il faut faire pareil, mais j'ai oublié comment. Je me rappel que dans les classes dérivées, il faut faire un truc du genre :
    implement int getsalaire();
    Mais tout bon cour de java te dira comment faire.