IFT-6521 [10pt] PROGRAMMATION DYNAMIQUE [25pt] Chapitre 2 ...
Chapitre Héritage Programmation C++
-
Upload
raouf-ben-fadhel -
Category
Documents
-
view
222 -
download
0
Transcript of Chapitre Héritage Programmation C++
-
8/18/2019 Chapitre Héritage Programmation C++
1/20
Programmation Orientée Objet C++:Héritage
Ecole Supérieure Privée d’ Ingénierie et deTechnologies
2013_2014
Réalisé par
!aroua "ouiri
-
8/18/2019 Chapitre Héritage Programmation C++
2/20
Plan
Appel des constructeurs et des destructeurs
Exemple
Polymorphisme
Introduction
Modalités d’accès à la classe de base
-
8/18/2019 Chapitre Héritage Programmation C++
3/20
ExempleEcrire une classe Employé ayant :
Un NomUn PrénomUn CINUn salaireUne méthode ache !"Un constructeur par dé#aut pour initialiser mes
attributs$un constructeur prenant en param%tre lesattributs nécessairesUne méthode Calculer&alaire!" 'ui retourne sonsalaire$
(
-
8/18/2019 Chapitre Héritage Programmation C++
4/20
Exemple&upposons 'u)on ait besoin de déclarer une autre classe *Ourier , $Cha'ue ourier est caractérisé par :
Un NomUn PrénomUn CINUn salaireUn nbreheursPri-heureUne méthode ache !"Un constructeur par dé#autun constructeur prenant en param%tre lesattributs nécessairesUne méthode Calculer&alaire!" 'ui retourne sonsalaire !nbreheures.Pri-heure"
/uelle est lasolution 000
1
-
8/18/2019 Chapitre Héritage Programmation C++
5/20
Solution
#otre avis $$$$
2
-
8/18/2019 Chapitre Héritage Programmation C++
6/20
2 éme Solution
Classe 3%re ouClasse de 4ase
Classe 5lle ouClasse dériée
6
-
8/18/2019 Chapitre Héritage Programmation C++
7/20
%a !eilleure Solution $$$$
2 éme Solution
7
-
8/18/2019 Chapitre Héritage Programmation C++
8/20
Introduction
8e concept d)héritage: c9est l9un des #ondements de laP$O$O$
8)héritage permet de donner ; une classe toutes lescaractéristi'ues d)une ou de plusieurs autres classes$
8)héritage consiste< ; partir d)une classe e-istante =< ; dé5nir unenouelle classe 8a réutilisation de code$
8a classe e-istante = est appelée classe m%re< ou classe de base$8a nouelle classe 4 est appelé classe 5lle ou classe dériée$ !hériteou dérie de la classe ="$
Une classe 5lle hérite automati'uement des données et méthodesde sa classe m%re sans aoir ; les réécrire$
&u'est ce (ue l'héritage $
>
-
8/18/2019 Chapitre Héritage Programmation C++
9/20
Introduction
8 )héritage permet de réutiliser des classes e-istantes$
8)héritage permet d)adapter des classes e-istantes ; tespropres besoins$
8)héritage permet de #aire éoluer les classes sans aoir ;les réécrire de = ; ?$
8)héritage permet d)éiter de construire des classes detaille trop importante$
%’utilité de l'héritage $
@
-
8/18/2019 Chapitre Héritage Programmation C++
10/20
8es membres privés d9une classe de base ne sont pasaccessibles au- #onctions membre de sa classe dériée$
8es membres pu)lics hérités par une classe dériée sontaccessibles depuis l9e-térieur$
Un membre protégé *protected+ d’une classe de )aseest
accessible depuis une classe dériée$ Il n9est pas accessibledepuis l9e-térieur$
Modalités d’accès à la classe de base
AB
-
8/18/2019 Chapitre Héritage Programmation C++
11/20
Appel de Constructeur
Appeldesconstructeurs et des destructeurs
AA
-
8/18/2019 Chapitre Héritage Programmation C++
12/20
Appel de Destructeur
Appeldesconstructeurs et des destructeurs
A
-
8/18/2019 Chapitre Héritage Programmation C++
13/20
Appel de Constructeur/Destructeur
A(
-
8/18/2019 Chapitre Héritage Programmation C++
14/20
A1
Pour construire un objet de type Ourier< il #autconstruire d)abord un objet de type Employé$
8e constructeur de la classe de base !Employé "est donc
appelé aant le constructeur de la classe dériée!Ourier"$
De #aon symétri'ue< le destructeur de la classe debase !Employé" est appelé apr%s le destructeur de laclasse dériée !Ourier"$
Appel de Constructeur/Destructeur
-
8/18/2019 Chapitre Héritage Programmation C++
15/20
A2
La notion de polmorp!isme
-
8/18/2019 Chapitre Héritage Programmation C++
16/20
E,plo-e.cpp
/uvrier.cpp
La notion de polmorp!isme
A6
-
8/18/2019 Chapitre Héritage Programmation C++
17/20
/uvrier.cpp
%e pol-,orphis,e 3écanisme 'ui consiste ;
redé5nir des #onctions de mFme nom dans les classesde bases et les classes dériées$ !c9est uneredé5nition"$
La notion de polmorp!isme
A7
-
8/18/2019 Chapitre Héritage Programmation C++
18/20
Re,ar(ueIl ne #aut pas mélanger la redé5nition et la surdé5nition$
1. ne surdénition *ou surcharge+ per,etd'utiliser plusieurs ,éthodes (ui portent le ,,enom au sein d'une même classe, avec une
signature diférente, pour que le système puisses'y retrouer$
2. ne redénition per,et de ournir une nouvelle
dénition d'une ,éthode d'une classe ascendante etainsi de substituer la description 'ui en été #aite$ Nousaons également le mFme nom 'ue la méthode parentemais surtout aec une signature rigoureusementidenti'ue$
La notion de polmorp!isme
A>
-
8/18/2019 Chapitre Héritage Programmation C++
19/20
A@
Un NomUn PrénomUn CIN
Un salaireUne #onctionUne note donné par le che# hiérarchi'ueUne Prime sera erser selon la note de son che#hiérarchi'ue !A2GB : 72 de la prime"Une méthode acher !"
un constructeur prenant en param%tre lesattributs nécessairesUne méthode Calculer&alaire!" 'ui retourne sonsalaire
Excercice
ous alleJ implémenter la Classe Cadre 'ui hérite de la classeEmploye et caractérisé par :
-
8/18/2019 Chapitre Héritage Programmation C++
20/20
"D #$%
B