Vous êtes sur la page 1sur 6

Correction Partie_II_Héritage_TP4

Modification de la classe Magasin

private final int cap=20;

private Employé [] tabE= new Employé[cap];

private int countP, countE;

public void ajouterEmploye(Employé e) {

if (countE < 20) {

tabE[countE] = e;

countE++;

public void afficheSalaireEmploye() {

for (int i = 0; i < countE; i++) {

System.out.println(tabE[i].calculSalaire());

Classe Employé

public abstract class Employé {

//Définition des attributs

private int id;

private String nom;

private String adr;

protected int nbh;

//Définition des constructeurs

public Employé() {}

public Employé(int id, String nom) {

this.id = id;

this.nom = nom;

}
public Employé(int id, String nom, String adr, int nbh) {

this.id = id;

this.nom = nom;

this.adr = adr;

this.nbh = nbh;

//Définition des getters et setters

public int getId() {

return id;

public void setId(int id) {

this.id = id;

public String getNom() {

return nom;

public void setNom(String nom) {

this.nom = nom;

public String getAdresse() {

return adr;

public void setAdresse(String adr) {

this.adr = adr;

public int getNbh() {

return nbh;

public void setNbH(int nbh) {

this.nbh = nbh;

}
@Override

public String toString()

return "id :"+id+"nom :"+nom+"adresse :"

+adr+"nbh :"+nbh;

public abstract float calculSalaire();

Classe Caissier

public class Caissier extends Employé {

private int numCaisse;

//constructeurs

public Caissier() { } //super();

public Caissier(int numCaisse) {

super();

this.numCaisse = numCaisse;

public Caissier(int id,int numCaisse, String nom) {

super(id, nom);

this.numCaisse = numCaisse;

public Caissier(int id, String nom, String adr, int nbh, int numCaisse) {

super(id, nom, adr, nbh);

this.numCaisse = numCaisse;

//getter et setter

public int getNumCaisse() {

return numCaisse;

public void setNumCaisse(int numCaisse) {

numCaisse = numCaisse;
}

public String toString() {

return "Caissier :" + super.toString() + "num Caisse :" + numCaisse;

public float calculSalaire()

{ return super.nbh*5; }

Classe Responsable

public class Responsable extends Employé{

private float prime;

public Responsable() {}

public Responsable(int id,String nom,float prime)

super(id, nom);

this.prime=prime;

public Responsable(int id,String nom ,String adr,int nbh,float prime)

super(id,nom,adr,nbh);

this.prime=prime;

public float getPrime() {

return prime; }

public void setPrime(float prime) {

this.prime = prime; }

public void testtoString()

System.out.println("this tostring");

System.out.println(this.toString());

System.out.println("super toString");

System.out.println(super.toString());
}

public String toString()

{ return "Responsable :"+super.toString()+"prime :"+prime;

@Override

public float calculSalaire()

return super.nbh*10+prime;

Classe Vendeur

public class Vendeur extends Employé{

private float taux_deVente;

public Vendeur() {}

public Vendeur(int id, String nom, float taux) {

super(id, nom);

this.taux_deVente = taux_deVente;

public float getTaux_deVente() {

return taux_deVente;

public void setTaux_deVente(float taux_deVente) {

this.taux_deVente = taux_deVente;

public String toString() {

return "Vendeur " + super.toString() + "taux de vente :" + taux_deVente;

public float calculSalaire()

return 450*this.taux_deVente;

}}
Classe TestEmployé

public class TestEmployé {

public static void main(String[] args) {

Magasin m1= new Magasin(1, "Centre-Ville ");

Magasin m2= new Magasin(2, "Menzah 6");

Caissier cais = new Caissier();

cais.setNbH(15);

cais.setNumCaisse(12);

Caissier cais1 = new Caissier(1);

cais1.setNom("med");

Caissier cais2 = new Caissier(1,12, "amine");

Caissier cais3 = new Caissier(1,"ons", "ariana", 10, 12);

Responsable resp = new Responsable(12, "amira", 1000);

System.out.println("to String Responsable");

System.out.println(resp);

m1.ajouterEmploye(cais1);

m1.ajouterEmploye(cais2);

m1.ajouterEmploye(resp);

System.out.println("la liste des employés sur m1");

m1.afficheListeEmploye();

m2.ajouterEmploye(resp);

m2.ajouterEmploye(cais);

m2.ajouterEmploye(cais3);

System.out.println("la liste des employés sur m2");

m2.afficheListeEmploye();

System.out.println("calcul salaire caissier 3");

System.out.println(cais3.calculSalaire());

System.out.println("calcul salaire resp");

System.out.println(resp.calculSalaire());

System.out.println("le salaire des employes dans magasin");

m2.afficheSalaireEmploye(); } }

Vous aimerez peut-être aussi