Académique Documents
Professionnel Documents
Culture Documents
Chapitre05 POO Java
Chapitre05 POO Java
1
Pr. M.FAHIM
FSTH
chapitre 5 : Héritage et polymorphisme
2
Pr. M.FAHIM
FSTH
Pr. M.FAHIM 3
Généralités sur le concept de l’héritage
• Le concept d’héritage constitue l’un des fondements de la
programmation orientée objet
• Il est notamment à l’origine des possibilités de réutilisation
des composants logiciels
• il permet de définir une nouvelle classe, dite classe dérivée,
à partir d’une classe existante dite classe de base
• Cette nouvelle classe hérite des fonctionnalités de la classe
de base (champs et méthodes) qu’elle pourra modifier ou
compléter à volonté, sans qu’il soit nécessaire de remettre
en question la classe de base
• Une classe dérivée pourra à son tour servir de classe de base pour
une nouvelle classe dérivée, dans le diagramme ci-dessous B2 est
une classe dérivée et en même temps est une classe de base pour
B3, C1, C2 :
• Notion de package
• Un paquetage (package) est un ensemble de classes. En fait, c'est un
ensemble de dossiers et de sousdossiers contenant une ou plusieurs classes.
• Les packages permettent de faire une organisation logique et physique des
classes. Un paquetage portant le nom X.Y.Z doit se trouver intégralement sur
le système de fichier du système d’exploitation dans un sous-répertoire de
nom X/Y/Z. En revanche, s’il existe un paquetage de nom X.Y.U, il pourra se
trouver dans un sous-répertoire X/Y/U
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Pr. M.FAHIM 29
La redéfinition des membres :
• Exemple 1
• Considérons par exemple l’arborescence ci-dessous
Pr. M.FAHIM 30
La redéfinition des membres :
• Soit o un objet d’une classe descendante de Personne
Pr. M.FAHIM 31
La redéfinition des membres :
• Soit v est une instance de la classe Vacataire
v.afficheInfo va appeler la méthode afficheInfo de la
classe Personne. De même si v est une instance de
Administratif, Enseignant ou Personnel.
Pr. M.FAHIM 32
La redéfinition des membres :
• Exemple 2
• On considère la classe Point suivante :
Pr. M.FAHIM 33
La redéfinition des membres :
Pr. M.FAHIM 34
La redéfinition des membres :
• Solution
Pr. M.FAHIM 35
La classe Class et la classe Object
La classe Class
• Elle permet connaître les caractéristiques d'une
classe de façon dynamique en utilisant les
méthodes de la classe Class
• La classe Class permet entre autre de d’obtenir le
nom d’une classe, sa classe mère, la liste de ces
méthodes, de ses variables de classe, de ses
constructeurs et variables d'instances, etc ...
36
37
• Exemple:
38
39
40
41
42
43
44
• La classe Personne
45
• La classe Etudiant :
46
47
48
49
50
51
52
53
abstract class A
{ .....
}
• Dans une classe abstraite, on peut trouver classiquement des
méthodes et des champs, dont héritera toute classe dérivée
• Mais on peut aussi trouver des méthodes dites abstraites, c’est à-dire
dont on ne fournit que la signature et le type de la valeur de retour.
• Par exemple :
54
55
56
57
58
59
60
61
62
63
65
• Il affichera :
66
67