Académique Documents
Professionnel Documents
Culture Documents
Filière : L2SIL
Enseignant : Ben Rkaya Moez
Page 1|4
Matière: POO2
Filière : L2SIL
Enseignant : Ben Rkaya Moez
Directeur général (DG),
Employé (EM)
4. Créer 3 utilisateurs avec différents profils.
5. Afficher la liste des utilisateurs.
6. Filtrer la liste et afficher la liste des managers.
Correction
Class profil
package com.serie3;
public class Profil {
private int id;
private String libelle,code;
private static int cpt;
Profil(String code,String libelle){ Commenté [m1]: Constructeur de la classe Profil
this.code=code;
this.libelle=libelle;
this.id= ++cpt;
} Commenté [m2]: Id est auto-incrément
public String getLibelle() {
return libelle; Commenté [m3]: On ne liste que les guetteurs essentiels
}
}
Class Personne
package com.serie3;
public class Personne {
protected int id;
protected String nom,prenom;
protected double salaire;
private static int cpt;
public Personne(String nom,String prenom,double salaire){ Commenté [m4]: Constructeur de la classe
this.id= ++cpt; Personne
this.nom= nom;
this.prenom= prenom;
this.salaire = salaire;
}
double calculerSalaire(){
return salaire;
}
void affiche(){
Page 2|4
Matière: POO2
Filière : L2SIL
Enseignant : Ben Rkaya Moez
System.out.print("Je suis "+nom+" "+prenom);
}
}
Class Utilisateur
package com.serie3;
public class Utilisateur extends Personne{
private String service;
private Profil profil;
public Utilisateur(String nom,String prenom,double salaire,String service,Profil profil){ Commenté [m5]: Constructeur de la classe
super(nom,prenom,salaire); Utilisateur
this.service=service;
this.profil=profil;
}
Profil getProfil(){
return profil;
}
@Override Commenté [m6]: Redéfinition de la méthode
public double calculerSalaire() { calculerSalaire
if (this.profil.getLibelle()=="Manager")
return 1.1 * this.salaire;
else if (this.profil.getLibelle()=="Directeur général")
return 1.4 * this.salaire;
return super.calculerSalaire();
}
@Override Commenté [m7]: Redéfinition de la méthode
public void affiche() { affiche
super.affiche();
System.out.println(" le " +profil.getLibelle()
+ " mon salaire est : " + this.calculerSalaire());
}
Class Test
package com.serie3;
public class Test {
public static void main(String[]args){
Profil profils[] = new Profil[6]; Commenté [m8]: Création des profils
profils[0] = new Profil("CP","Chef de projet");
profils[1] = new Profil("MN","Manager");
profils[2] = new Profil("DP","Directeur de projet");
profils[3] = new Profil("DRH","Directeur des ressources humaines");
profils[4] = new Profil("DG","Directeur général");
profils[5] = new Profil("EM", "Employé"); Commenté [m9]: Création des utilisateurs avec les
différents profils
Utilisateur users[] = new Utilisateur[4];
Page 3|4
Matière: POO2
Filière : L2SIL
Enseignant : Ben Rkaya Moez
users[0] = new Utilisateur("xx","yy",1500,"Informatique",profils[1]);
users[1] = new Utilisateur("xx","yy",1400,"Finance",profils[1]);
users[2] = new Utilisateur("xx","yy",3000,"Informatique",profils[4]);
users[3] = new Utilisateur("xx","yy",2500,"Ressources humaines",profils[3]);
System.out.println("La liste des utilisateurs : "); Commenté [m10]: Afficher tous les utilisateurs
for (Utilisateur u : users) {
u.affiche();
}
System.out.println("Liste des managers : "); Commenté [m11]: Filtrer la liste des managers
for (Utilisateur u : users) {
if (u.getProfil().getLibelle()=="Manager")
u.affiche();
}
}
}
Page 4|4