Situation 1
On souhaite gérer les ressources humaines d’un établissement universitaire. L’application à réaliser doit être en
mesure de manipuler le personnel administratif, les enseignants, et les élèves. Toutes les personnes ont un
identificateur, un nom et un prénom. D’autres attributs peuvent être ajoutés en rapport avec le rôle de la personne :
- Un étudiant possède un niveau et une spécialité ;
- Une prof définit par sa discipline ;
- Un administratif est désigné par sa fonction administrative.
Situation 2:
Une application de gestion de bibliothèque doit manipuler des documents de natures disparates, par exemple des
livres et des dictionnaires. Tous les documents ont un titre. Les autres attributs varient selon la catégorie du
document :
- Un livre possède un auteur et un nombre de pages ;
- Un dictionnaire est caractérisé par le nombre de définitions de mots qu’il contient ;
Question : Proposez les classes de cette future application.
Situation 3:
On souhaite gérer les différents employés d’une entreprise. Chaque employé est identifié par le numéro de
sécurité sociale, nom, prénom et l’adresse. On souhaite également connaître son emploi.
L’entreprise a un patron, des vendeurs et des caissières. Chaque employé, sauf le patron, a un supérieur hiérarchique.
Le patron touche son salaire, ainsi qu’une prime de risque ; les vendeurs touchent une commission en plus de leur
salaire, et les caissières touchent simplement leur salaire.
Questions Identifiez les classes à développer pour gérer les employés de cette entreprise
Principe d’héritage
Définition : L’héritage est un mécanisme qui permet de mettre en relation deux ou plusieurs classes ayant des
caractéristiques communes (attributs et méthodes) en respectant une certaine hiérarchie. Il offre la possibilité de
créer une classe à partir d’une autre déjà existe. Cela signifie que la nouvelle classe bénéficie des membres (attributs)
et méthodes de la classe de base avec la possibilité de définir ses propres propriétés dans le but de modifier son
comportement c.-à-d. la spécialiser.
NB : l’héritage favorise la mise en place d’une représentation hiérarchique de classes. Plus on descend vers le bas de la
représentation plus les classes sont spécialisées. Au contraire, les classes
situées en haut d’une hiérarchie sont génériques et n’ont seulement qu’un seul
but : offrir des services aux classes dérivées
NB :
- La classe mère appelée également : classe de base, classe générale,
parent, ancêtre, etc.
- La classe dérivée appelée aussi : classe fille, sous classe, etc.
Exemple :
- La classes A est une classe de base dans laquelle les caractéristiques communes entre celle-ci et la classe B
sont factorisées. On dit que la classe A offre des services à la classe B.
- La sous classe B consomme les services factorisés dans A.
- Objet de B= Objet de la classe A (partie générale) + une partie propre (partie spécifique).
- Création d’un objet de la classe B veut dire construction de la partie générale grâce au constructeur de A puis
spécialiser l’objet créé en faisant appel au constructeur de B.
Exercice d’application : Donnez une nouvelle conception en classes des situations précédentes.
- 1-
Prof : M.GHAILANI
Travaux pratiques Filière : Génie Informatique
Langage Java Année : 2019/ 2020
(Héritage) Prof : M.GHAILANI
TP 1:
Réalisez un programme Java qui permet de gérer des rectangles et des carrés en profitant à bon escient du
principe d’héritage.
TP 2:
Une application de gestion de bibliothèque doit manipuler des documents de natures disparates, par
exemple des livres et des dictionnaires. Tous les documents ont une référence et un titre. Les autres
attributs varient selon la catégorie du document :
- un livre possède un auteur et un nombre de pages ;
- un dictionnaire est caractérisé par le nombre de définitions de mots qu’il contient ;
Bien que de natures diverses, les documents doivent être manipulés de façon homogène en tant que
simples documents, par exemples, pour en constituer une liste. On définit pour cela les classes Document,
Livre et Dictionnaire.
- 2-
Prof : M.GHAILANI