Exercice corrigé héritage JAVA - gestion des employés - TP avec Correction POO Employé Exercices Heritage

Exercice Java Heritage POO - Employés - 

Dans une société, un employé est décrit par les membres suivants :

Attributs : 

Nom ; Age ; salaire.

Constructeurs : 

  • par défaut, 
  • par copie
  • avec trois paramètres

Méthodes :

  • Augmentation(…) ; 
  • toString() ; 
  • afficher() ; 
  • calculeSalaire() ;


Un technicien est décrit en plus par l’attribut : grade et la méthode prime( ) et la redéfinition de la méthode toString() et de la méthode calculeSalaire().
  • Si grade=1 alors Prime= 100
  • Si grade=2 alors Prime= 200
  • Si grade=3 alors Prime= 300

Travail à faire : 


1-      Ecrire la classe Employé.
2-      Ecrire la classe Technicien.
3-      Ecrire un programme qui saisie un employé puis un technicien et affiche leurs informations avant et après augmentation de leurs salaires.


---------------------------------------------------------------------------------------------------------

Correction TP JAVA Heritage  - Solution Exercices Heritage

---------------------------------------------------------------------------------------------------------


Diagramme de Classes




Employe.java

public class Employe {
  
   private String nom;
   private int age;
   private float salaire;
  
   /*Constructeur pardéfaut*/
   public Employe() {   }
   /*Constructeur avec 3 paramètres*/
   public Employe(String nom, int age, float salaire) {
       this.nom = nom;
       this.age = age;
       this.salaire = salaire;
  }
   /*constructeur par copie*/ 
   public Employe(Employe oldEmploye) {
      nom = oldEmploye.nom;
      age = oldEmploye.age;
      salaire = oldEmploye.salaire;
   }
   /*mutateurs (modificateurs) */
   public void setNom(String nom) {
                  this.nom = nom;
      }



      public void setAge(int age) {
                  this.age = age;
      }

      public void setSalaire(float salaire) {
                  this.salaire = salaire;
      }
    /*accesseurs  (recupérateurs) */
      public String getNom() {
                  return (this.nom);
      }

      public int getAge() {
                  return (this.age);
      }

      public float getSalaire() {
                  return (this.salaire);
     }
   /*toString*/
    public String toString() {
           return nom+"\t"+age+"\t"+salaire;
   }
  
  
   public void afficher() {
        System.out.println(toString());
      }

   public void augmentation(float a) {
      salaire=salaire+a;
     
   }
  
  
  
Technicien.java

public class Technicien extends Employe {
  
   private byte grade;

    public Technicien(String nom, int age, float salaire, byte grade)
   {
      super(nom,age,salaire);
      this.grade=grade;
   }
  
   public int prime() {
     
     switch(grade)
      {
        case 1: return 100;
        case 2: return 200;
        case 3: return 300;
      }
      return 0;
     
   }
  
   public float calculSalaire()
   {return getSalaire()+prime();}
  
   public String toString() {
     
      return super.toString() + "\t" +grade;
   }

}

/*******************************************/
class TestEmpTech
{
   public static void main(String args[])
   {
     Employe e1=new Employe("Albert",28,4500);
     Employe e2=new Technicien("Bernard",50,8000,(byte)5);
    
     //Technicien e3 =new Employe();  //erreur
    
     Technicien e3 =new Technicien("Jacques",25,5000,(byte)4);
    
     System.out.println("Avant augmentation:");
     e1.afficher();
     e2.afficher();
     e3.afficher();
    
     e1.augmentation(600);
     e2.augmentation(500);
     e3.augmentation(650);
    
     System.out.println("Apres augmentation:");
     e1.afficher();
     e2.afficher();
     e3.afficher();
    
  
   }
}


Article plus récent Article plus ancien

4 Responses to “Exercice corrigé héritage JAVA - gestion des employés - TP avec Correction POO Employé Exercices Heritage”

  1. public int prime() {

    switch(grade)
    {
    case 1: return 100;
    case 2: return 200;
    case 3: return 300;
    }
    return 0;

    }
    Mercii tout d'abord pour ce site .
    ma question est: pourquoi vous mettez return 0 ;et nous sommes déjà faire un return dans switch ;et pourquoi vous avez éliminer break ;même si il est important de l'émettre

    RépondreSupprimer
    Réponses
    1. bonjour,

      je pense qu 'il a met le 0 comme valeur par defaut si aucunes de conditions ne sont pas satisfesantes.
      par exemple si par erreur l 'utilisateur a saisi une valeur autre que 1,2,3 ça pose un probleme puisque la fonction prime() doit retourner un int.

      Supprimer
  2. lors du cases il manque un break ; sinon il va afficher les autres valeurs aussi ;)

    RépondreSupprimer
  3. Bonjour S'il vous plaît et si on veux un rapport sur ça?

    RépondreSupprimer

Telechargement