Surcharge des méthodes en orientée objet

soso -  
 mottste -
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

3 réponses

[o.o]REplay Messages postés 385 Statut Membre 28
 
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!
0
soso
 
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
0
[o.o]REplay Messages postés 385 Statut Membre 28
 
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?
0
soso
 
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
0
mottste
 
En java il n'existe pas de pointeurs ce sont des références. Les références sont des pointeurs plus puissants.
0
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
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.
0