Vous êtes sur la page 1sur 4

Problème :

Pour bien gérer ses ressources humaines, le directeur d'une clinique décide mettre un programme
écrit à l'aide du langage Java. Les personnels initialement sont des infirmiers, des techniciens de
santé et des médecins. Un médecin peut être permanant (qui fait partie de la clinique) ou non
permanant (ne fait pas partie de la clinique, mais il est payé par chaque opération réalisée). Le
programme dispose d'une classe abstraite "Personnel".

1
Partie 1

1. Donner la structure de la classe : public class Opération { …}

- Tous les attributs sont privés

- Donner un constructeur qui permet de remplir tous les attributs.

NB: l'attribut "prime", c'est la prime qu'on doit la payer au médecin qui réalise cette opération
chirurgienne.

2. Donner la structure de la classe : abstract class Personnel { …}

- Tous les attributs sont protégés.

- Donner un constructeur qui permet de remplir tous les attributs.

- Développer la méthode affiche() qui affiche les détails d'un personnel.

- Cette classe contient une méthode abstraite et une méthode statique qui retourne le nombre des
personnels comme il est bien montré dans le schéma.

3. Donner la structure de la classe : abstract class Medecin … {…}

- Pour faciliter, on considère la méthode Abstract calculSalaire() est déclarée implicitement, ne


prenez pas le souci de la remettre dans cette classe.

- Cette classe contient un seul attribut protected "tabOperations" qui est un tableau contenant des
objets de type "operation".

- Donner un constructeur qui prend en paramètre un tableau d'opérations.

Partie2

- On s'intéresse maintenant à la création des différentes sous classe (Technicien, Infirmier,


MedecinPermanant et MedecinNonPermanant).

- Dans chaque sous classe on doit redéfinir la méthode public affiche() qui fait appel à la méthode
affiche() de la classe mère.

- Le calcul des salaires se fait grâce à la méthode float calculSalaire() de la manière suivante:

 Pour un technicien : juste on retourne (le salaire de base)


 Pour un Infirmier : on retourne (le salaire de base + (nbHeureSup* primeHeureSup)).
 Pour un Médecin Permanent, on retourne (le salaire de base + la somme des primes de
toutes les opérations qui a réalisées).
 Pour un Médecins Non Permanent, on retourne (la somme des primes de toutes les
opérations qui a réalisé).

2
- Dans chaque classe on doit créer un constructeur qui remplit tous les attributs, on peut appeler le
constructeur de la classe mère.

4. Donner la structure de la classe : public class Technicien { …}

5. Donner la structure de la classe : public class Infirmier { …}

6. Donner la structure de la classe : public class MedecinPermanant { …}

7. Donner la structure de la classe : public class MedecinNonPermanant { …}

Partie3

On s'intéresse maintenant à la création d'une classe :

public class ListePersonnel {

Personnel[] pers;

public void ajouterPers(Personnel pers)

{
pers .addElement(pers);
}
Public float totalSalaire()

{
float totSal; …. }}

8. compléter la méthode totalSalaire() .

9. Dans le programme principal


public class TestPrincipale{

public static void main ( String [] args)

{ // à compléter } }

Créer 4 objets de type personnel, en utilisant le polymorphisme, qui prend les détails suivants :

3
10. Créer un objet "lp" de type ListePersonnel, lui affecter ces 4 personnels créés ci-dessus et afficher
le montant total des salaires.

Vous aimerez peut-être aussi