Académique Documents
Professionnel Documents
Culture Documents
Compte Rendu N :2
TP java
21/10/2023
Employee{abstraite}
String :nom
String :prenom
Int :age
String :dateEntree
Employe(String,String,int,String)
Employe()
getNom():String
abstract calculerSalaire()
imprimer():void
TechnARisque
ManutARisque
Producteur Commertial Manutionnaire
Vendueur
#int:nomreUnites #Double:chiffreAffaire #Int:heureTravail
+TechniARisque(String,String,int,String,double) +Vendeur(String,Strig,int,String,double)
++TechnARisque()
Producteur(String,String,int,String,int) Commercial(String,String,int,String,double)
+calculerSalaire():double Manutionnaire(String,String,int,String,int)
ManutARisque(String,String,int,String,double)
++calculerSalaire():double
calculerSalaire():double calculerSalaire():double
+Vendeur() calculerSalaire():double
+ManuARisque()
++calculerSalaire():double
imprimer():void imprimer():void imprimer() :void
+ Producteur() Commercial() Manutionnaire()
Representant
+Representant(String,String,int,String,double)
+Representant()
+calculerSalaire();double
Prime
Int:prime=2000
Correction TD3:
Classe employee:
package net.TD3OCP;
import
java.util.ArrayList;
import
java.util.Scanner;
// Define the abstract class
Employe abstract class Employe {
protected String nom;
protected String
prenom; protected int
age;
protected String dateEntree;
Classe Producteur:
package net.TD3OCP;
class Producteur extends Employe
{ protected int
nombreUnites;
@Override
public double calculerSalaire()
{ return nombreUnites * 5;
Classe Commercial:
package net.TD3OCP;
Classe Manutentionnaire:
public class Commercial extends
package net.TD3OCP;
Employe{ protected double
chiffreAffaire;
class Manutentionnaire extends Employe
{ protected
public int heuresTravail;
Commercial(String nom, String prenom, int age,
String dateEntree, double chiffreAffaire) {
public Manutentionnaire(String
super(nom, prenom, age, nom, String prenom, int age,
String dateEntree,
dateEntree);int heuresTravail) { =
this.chiffreAffaire
super(nom, prenom, age,
chiffreAffaire;
} dateEntree); this.heuresTravail =
heuresTravail;
@Override
}
public double calculerSalaire()
public Manutentionnaire()
{ return 0.2 *
{} @Override
chiffreAffaire;
public
} void imprimer(){
@Override
public void
imprimer(){
super.imprimer();
System.out.println("\ndonner le chiifre
d'affaire"); chiffreAffaire=sc.nextDouble();
}
}
@Override
public double calculerSalaire()
{ return heuresTravail *
650;
}
Classe Vendeur:
package net.TD3OCP;
Classe Representant:
class Vendeur extends Commercial {
package net.TD3OCP;
Classe public Vendeur(String
Technicien risqué: nom, String prenom, int age, String
class Representant
dateEntree, double extends Commercial
chiffreAffaire) { {
super(nom, prenom, age, dateEntree, chiffreAffaire);
package
} net.TD3OCP;
public Representant(String nom, String prenom, int age,
public Vendeur()
class
String TechnARisque
dateEntree,
{} @Override extends Producteur implements
double chiffreAffaire) { Prime{
public TechnARisque(String
super(nom, prenom, age,
public double calculerSalaire() {nom, String
dateEntree, prenom, int age, String
chiffreAffaire);
} return super.calculerSalaire()+ 4000;
public} Representant(){}
} @Override
public double calculerSalaire() {
return super.calculerSalaire() + 8000;
}
}
dateEntree, int nombreUnites) {
super(nom, prenom, age, dateEntree, nombreUnites);
}
public TechnARisque(){}
@Override
public double calculerSalaire() {
return super.calculerSalaire() + prime;
}
}
Manutentionnaire risqué:
package net.TD3OCP;
Enumeration Prime:
class ManutARisque extends Manutentionnaire implements Prime {
public ManutARisque(String nom, String prenom, int age,
package
Stringnet.TD3OCP;
dateEntree, int heuresTravail) {
Collection Personnel: Prime {
public interface
super(nom, prenom, age, dateEntree, heuresTravail);
}public int prime=2000
package; net.TD3OCP;
public ManutARisque()
import
{} @Override
java.util.ArrayList; class
public double calculerSalaire() {
Personnel {
return super.calculerSalaire() + prime;
private ArrayList<Employe> personnages;
}
public Personnel() {
personnages = new ArrayList<Employe>();
}
}
public double salaireMoyen() {
if (personnages.size() == 0) return
0; double totalSalaire = 0;
for (Employe employe : personnages) {
totalSalaire +=
employe.calculerSalaire();
}
return totalSalaire / personnages.size();
Classe Main:
package net.TD3OCP;
import java.util.Scanner;
public class Main {
public static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
System.out.println("Menu: ");
System.out.print("1:ajouter un Employee \n2: Afficher Employee \n3:
Supprimer Employee ");
System.out.print("\ntaper votre choix:");
choix = sc.nextInt();
switch (choix){
case 1-> {
}
case 2 ->{
System.out.println("1:ajouter un Producteur \n2:
ajouter un TechnARisque ");
System.out.print("\ntaper votre choix:");
choix = sc.nextInt();
switch (choix) {
case 1-> {
Producteur producteur = new Producteur();
producteur.imprimer();
p.ajouterEmploye(producteur);break;
}
case 2-> {
TechnARisque technARisque = new
TechnARisque();
technARisque.imprimer();
p.ajouterEmploye(technARisque);break;
}
}
}
case 3-> {
System.out.println("1:ajouter un Manutentionnaire
\n2: ajouter un ManutARisque ");
System.out.print("\ntaper votre choix:");
choix = sc.nextInt();
switch (choix) {
case 1-> {
Manutentionnaire manutentionnaire = new
Manutentionnaire();
manutentionnaire.imprimer();
p.ajouterEmploye(manutentionnaire);break;
}
case 2-> {
ManutARisque manutARisque = new
ManutARisque();
manutARisque.imprimer();
p.ajouterEmploye(manutARisque);break;
}}}}}
case 2-> {
p.afficherSalaires();break;
}
case 3->{
String nomAsupprimer;
String prenomAsupprimer;
System.out.println("entre le nom qui tu peux supprimer
:");
sc.nextLine();
nomAsupprimer = sc.nextLine();
prenomAsupprimer = sc.nextLine();
//System.out.println(nomAsupprimer);
//System.out.println(prenomAsupprimer);
p.supprimer(nomAsupprimer,prenomAsupprimer);break;
}}}
}
}