Vous êtes sur la page 1sur 3

C# TP POO/ vnementiel (classe abstraite, hritage, polymorphisme) (gestion employs dun hpital) Dans cet exercice nous allons

modliser le systme d'information reprsent par les classes suivantes :


constructeurs

Le diagramme UML dcrivant entirement les classes Veuillez respecter strictement le nom des classes, des attributs, des mthodes et de leurs paramtres. 1 crire la classe Employ (classe abstraite doit tre dclare avec public abstract class, (classe abstraite ne sinstancie pas):) Le constructeur permet de fixer les valeurs de respectivement, noEmploy et nom. La mthode abtraite (sans implmentation) (dclare avec public abstract )+rsumPaye():String renvoie une chane de caractres comportant le numro d'employ, le nom, et le salaire donn par la mthode abstraite getSalaire, c'est le rsum de la fiche de paye pour un employ. 2 crire la classe Agent La mthode +getSalaire():double renvoie le rsultat de la multiplication de nbHeures par indice, a dclarer avec public override 3 crire la classe Echelon (avec static class) ASSISTANT, CHEF_DE_CLINIQUE et CHEF_DE_SERVICE sont trois constantes. (public const) La mthode statique +getSalaire(echelon:int):double renvoie 3000.0 si le paramtre a la valeur ASSISTANT, 5000.0 si le paramtre a la valeur CHEF_DE_CLINIQUE, 8000 si le paramtre a la valeur CHEF_DE_SERVICE, 0.0 sinon. Rappel : Les fonctionnalits principales d'une classe statique sont :

Elles contiennent uniquement des membres statiques.

TP POO- vnementiel en C# - M. TAIS - TDI

Elles ne peuvent pas tre instancies. Elles sont sealed (ne peuvent pas tre hrites). Elles ne peuvent pas contenir Constructeurs d'instances

4 crire la classe Mdecin On considre que l'attribut echelon est une valeur parmi les trois constantes de la classe Echelon. La mthode +getSalaire():double doit renvoyer le salaire donn par la classe Echelon selon la valeur de l'attribut chelon. Exemple dobjets : une instance de Agent : employ n101, nomm "Agent1" et travaillant 160h un indice de 15.5DH une instance de Mdecin : employ n501, nomm "Medecin1" qui est assistant une instance de Agent : employ n102, nomm "Agent2" et travaillant 80h un indice de 22.0DH une instance de Mdecin : employ n502, nomm "Medecin2" qui est chef de clinique une instance de Mdecin : employ n503, nomm "Medecin3" qui est chef de service . Les interfaces qui vont permettre de manipuler ces classes dans une collection type ArrayList ou list(of) sont

TP POO- vnementiel en C# - M. TAIS - TDI

Le salaire sera calcul et affich dans le label

Recherche et affichage dans une datagridview N.B: Pour dterminer le type de lobjet lu partir de la collection, on peut utiliser: typeof(T).Name // retourne class name, pas de namespace (espace de nom a qui appartient cette classe) typeof(T).FullName // namespace et class name typeof(T).Namespace // namespace, pas de class name

TP POO- vnementiel en C# - M. TAIS - TDI