Vous êtes sur la page 1sur 10

Université Cadi Ayyad Faculté des Sciences Semlalia

de Marrakech (FSSM)

Rapport TP N °3

Module : POO en JAVA Préparer par :


Filière: LP--‐TW
EL BALFYQY ASMA
Prof: R HANNANE

Année Universitaire
2022/2023
Exercice 1 :_________________________________________________________________ 3
Solution de l’exercice 1: ______________________________________________________ 4
Exercice 2 :_________________________________________________________________ 7
Solution de l’exercice 2 : _____________________________________________________ 8
Exercice 1 :

On désire gérer le personnel d'un établissement hospitalier qui est constitué des
médecins, infirmiers(e) et du personnel administratif.
Soit la classe Personnel décrite par ses données membres privées :
 Un matricule
 Un nom
 Un service
 honoraire_journalier (privée)
 nbreJour_travail (privée)
1. Définir cette classe avec ses données membres et deux methodes:
1.1 afficher() qui affiche les informations de chaque objet créer à
partir de cette classe.
2.2 calcul_salaire_mensuel() qui calcule le salaire mensuel en
fonction de nombre de jour travaillé et honoraire_journalier (càd
le prix d'un jour de travail)
2. On dérive la classe Personnel déjà vue par une classe Medecin. En plus
des données membres Personnel, la classe Medecin a comme données
membres :

 Fonction
 Chiffre_affaire
 Taux_commission
Les méthodes sont les suivantes.
 La méthode calcul_salaire_mensuel() intègre un mode de
calcul comme suit :
Calcul_salaire_mensuel=(Chiffre_affaire*Taux_commission)+(honoraire_journalier*nbreJour_travail)

 La méthode afficher() qui affiche les informations des médecin et


le
salaire_mensuel pour ces Médecins. Sous le format suivant :

3
Le médecin Alami immatriculé "M456" affecté au service " chirurgie"
aura pour salaire mensuel 31 500 Dhs

Solution de l’exercice 1:
1) la classe Personnel :

package exercice1_tp3;

public class Personnel {


public String matricule;
public String nom ;
public String service ;
private float honoraire_journalier ;
private int nbreJour_travail;

public Personnel( String matricule, String nom ,String service,float honoraire_journalier ,int
nbreJour_travail) {
this.matricule = matricule;
this.nom = nom ;
this.service = service ;
this.honoraire_journalier = honoraire_journalier;
this.nbreJour_travail = nbreJour_travail;
}
/*1.1 afficher() qui affiche les informations de chaque objet créer à partir de
cette classe. */
public void afficher(){
System.out.println("matricule :"+ matricule +"nom"+ nom
+"service:"+service+"honoraire_journalier"+honoraire_journalier+"nbreJour_travail"+
nbreJour_travail );
}
/*2.2 calcul_salaire_mensuel() qui calcule le salaire mensuel en fonction de
nombre de jour travaillé et honoraire_journalier */
float calcul_salaire_mensuel() {
float somme = honoraire_journalier * nbreJour_travail ;

return somme;
}

4
2) la classe Medecin et la classe TestPersonnel:

package exercice1_tp3;

public class Medecin extends Personnel{


// déclaration des attributs
public String Fonction ;
public float Chiffre_affaire ;
public float Taux_commission ;
//creation d'un constructeur avec les paramétres
public Medecin ( String matricule, String nom ,String service,float honoraire_journalier ,int
nbreJour_travail,String Fonction ,float Chiffre_affaire ,float Taux_commission ) {
super(matricule,nom,service,honoraire_journalier , nbreJour_travail);
this.Fonction = Fonction;
this.Chiffre_affaire = Chiffre_affaire;
this.Taux_commission= Taux_commission;
}

/* La méthode calcul_salaire_mensuel()
Calcul_salaire_mensuel=(Chiffre_affaire*Taux_commission)+(honoraire_journalier*nbreJou
r_travail) */
public float calcul_salaire_mensuel() {
return (Chiffre_affaire * Taux_commission)+super.calcul_salaire_mensuel();

}
// La méthode afficher() qui affiche les informations des médecin
public void afficher(){
System.out.println(" Le médecin "+ nom +" immatriculé "+ matricule+" affecté au
service " + service +""+
" aura pour salaire mensuel "+ calcul_salaire_mensuel() );
}

5
package exercice1_tp3;

public class TestPersonnel {

public static void main(String[] args) {


// TODO Auto-generated method stub

Medecin m = new Medecin("m865","asma" ,"chirurgie",500 ,25,"se" ,457 ,5);


m.afficher();
System.out.println("le calcule du salaire mentionnel est : "+m.calcul_salaire_mensuel());

Exemple d’exécution :

6
Exercice 2 :
Il s'agit de modéliser un crayon puis un crayon de couleur en java.
1. La classe Crayon possède :
 un attribut longueur
 un constructeur avec un paramètre longueur. Si le paramètre est
négatif,
la longueur est nulle
 une method setLongueur possède un parameter de type int. Elle
change la longueur du crayon en fonction du paramètre, si le
paramètre est négatif, la longueur devient nulle
 une méthode qui retourne la longueur du crayon
 une méthode affiche(), qui affiche le texte "crayon de longueur :"
ainsi que la longueur
2. La classe CrayonCouleur hérite de la classe Crayon et définit les
champs suivants :
 un attribut couleur de type String
 un constructeur avec deux paramètres longueur et couleur
 une méthode setCouleur(String couleur) pour modifier la couleur
 une méthode modifie(int longueur, String couleur) permettant de
modifier les attributs longueur et couleur en utilisant les méthodes
setLongueur et setCouleur
 une méthode qui spécifie la méthode affiche() de la classe Crayon
et qui affiche en plus de la longueur la couleur du crayon
3. On définit une classe principale EssaiCrayon qui permet de :
3.1 Créer un crayon de couleur de longueur =20 et de couleur rouge
3.2 Afficher la longueur et la couleur
3.3 Modifier la longueur par 10 et la couleur par bleu
3.4 Afficher la nouvelle longueur et la nouvelle couleur

7
Solution de l’exercice 2 :
1) la classe Crayon:

package exercice2_tp3;

public class Crayon {


// déclaration d' un attributs
public int longueur ;
/* un constructeur avec un paramètre longueur. Si le paramètre est négatif,
la longueur est nulle */
public Crayon(int longueur){

if(longueur<0){
this.longueur = 0;
}else {
this.longueur = longueur;
}
}

//setLongeur change la longueur du crayon en fonction du paramètre


public void setLongueur(int longeur) {
this.longueur = longeur;
}

// une méthode qui retourne la longueur du crayon


public int getLongueur() {
return this.longueur;
}
/* une méthode affiche(), qui affiche le texte "crayon de longueur :" ainsi
que la longueur */
public void afficher() {
System.out.println(" crayon de longueur :" + longueur);
}
}

8
2) la classe CrayonCouleur:

package exercice2_tp3;

public class Crayon {


// déclaration d' un attributs
public int longueur ;
/* un constructeur avec un paramètre longueur. Si le paramètre est négatif,
la longueur est nulle */
public Crayon(int longueur){

if(longueur<0){
this.longueur = 0;
}else {
this.longueur = longueur;
}
}

//setLongeur change la longueur du crayon en fonction du paramètre


public void setLongueur(int longeur) {
this.longueur = longeur;
}

// une méthode qui retourne la longueur du crayon


public int getLongueur() {
return this.longueur;
}
/* une méthode affiche(), qui affiche le texte "crayon de longueur :" ainsi
que la longueur */
public void afficher() {
System.out.println(" crayon de longueur :" + longueur);
}
}

9
3) la classe EssaiCrayon:

package exercice2_tp3;

public class EssaiCrayon {

public static void main(String[] args) {


// TODO Auto-generated method stub
//instancier un objet de type CrayonCouleur
CrayonCouleur c1 = new CrayonCouleur(2,"rouge");
c1.afficher();
c1.modifier(10,"bleu");
c1.afficher();

Exemple d’exécution :

10

Vous aimerez peut-être aussi