Surcharge de méthodes

Surcharge de méthodes - Java - Programmation

Marsh Posté le 15-09-2015 à 20:01:30    

Bonjour,
Je débute en java et je fais un blocage sur les surcharges de méthodes.
 
J'ai trois classes  :
- une classe avec méthode main
- une classe mère (appelée Manager)
- une classe fille (appelée Ouvrier)  
 
dans la classe mère j'ai une petite méthode
 
public double calculerPrime() {
  double prime = 0;
  prime = (salaire / 100) * 10;
  return prime;
 }
 
Je voudrais faire une surcharge de cette méthode dans la classe fille
par exemple (pas très réaliste...)
 
public double calculerPrime() {
 
  short prime = 0;
  prime = (short) (salaire * 2);
  return prime;
 }
 
 
et appeler cette méthode dans la méthode main. Mais je ne sais pas comment tester l'appel de l'une ou l'autre en fonction des paramètres.
Un petit exemple serai bien utile.
Par avance merci de votre aide
 

Reply

Marsh Posté le 15-09-2015 à 20:01:30   

Reply

Marsh Posté le 15-09-2015 à 21:09:12    

Je n'ai pas trop compris où tu rencontres des difficultés :
classe de test :

Code :
  1. public class Surcharge {
  2.    public static void main(String[] args) {
  3.       Manager unManager = new Manager(500);
  4.       Ouvrier unOuvrier = new Ouvrier(400);
  5.      
  6.       System.out.println("la prime du manager : "+ unManager.calculerPrime());
  7.       System.out.println("la prime de l'ouvrier : "+ unOuvrier.calculerPrime());
  8.    }
  9.  
  10. }


 
 

Code :
  1. classe Manager:
  2. public class Manager {
  3.    public double salaire;
  4.  
  5.    public Manager(double salaire){
  6.       this.salaire = salaire;
  7.    }
  8.  
  9.    public double calculerPrime() {
  10.       double prime = 0;
  11.       prime = (salaire / 100) * 10;
  12.       return prime;
  13.    }
  14.  
  15. }


 
classe Ouvrier:

Code :
  1. public class Ouvrier extends Manager {
  2.    public Ouvrier(double salaire) {
  3.       super(salaire);
  4.    }
  5.    @Override
  6.    public double calculerPrime() {
  7.       short prime = 0;
  8.       prime = (short) (salaire * 2);
  9.       return prime;
  10.    }
  11. }


 
L'appel à la méthode de la classe fille se fait comme un appel normal vu qu'on doit rajouter l'annotation @Override

Reply

Marsh Posté le 15-09-2015 à 21:44:14    

Merci beaucoup je n'avais pas compris que l'appel était classique

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed