Académique Documents
Professionnel Documents
Culture Documents
PROGRAMMATION ORIENTÉE-OBJET
Faten BEN HMIDA
faten.benhmida@ensi.rnu.tn
Présentation du module
2
1
31/01/2013
Objectifs du cours
3
Plan du cours
4
Introduction
Rappel du langage C
Du C au C++
Concepts de base de la POO
Classes
Héritage
Polymorphisme
STL
Exceptions
2
31/01/2013
Bibliographie
5
POO
Brad J. Cox, Andrew J. Novobilski. Object-Oriented
Programming: An Evolutionary Approach.
Bertrand Meyer. Conception et programmation orientées
objet.
C++
Bjarne Stroustrup. The C++ Programming Language.
Claude Delannoy, Programmer en langage C++.
INTRODUCTION
3
31/01/2013
Enjeux de la programmation
7
Importance de la maintenance
8
4
31/01/2013
Importance de la maintenance
9
Qualité du logiciel
10
5
31/01/2013
6
31/01/2013
Solutions de la POO
13
Fonction 1 Fonction 2
Fonction Fonction
6
DONNEES 3
Fonction 5 Fonction 4
Solutions de la POO
14
7
31/01/2013
CHAPITRE 1
RAPPEL DU LANGAGE C
Plan
16
Bref historique
Caractéristiques du langage C
Structure d’un programme C
Compilation et exécution d’un programme C
Adressage des variables
Pointeurs
Allocation dynamique de la mémoire
Passage de paramètres à une fonction
8
31/01/2013
Bref historique
17
Caractéristiques du langage C
18
Avantages
Universel : non orienté vers un domaine d'application particulier
(ex: FORTRAN pour applications scientifiques et techniques, COBOL
pour applications commerciales ou traitant de grandes quantités de
données).
9
31/01/2013
Caractéristiques du langage C
19
Avantages
Près de la machine : étant développé dans le but de programmer
le système d'exploitation UNIX, il offre des fonctions permettant un
accès simple et direct aux fonctions internes de l'ordinateur (gestion
de la mémoire).
Caractéristiques du langage C
20
Limites
Compréhensibilité : l’utilisation des expressions compactes entraîne le
risque de produire du code incompréhensible d’où l’intérêt de bien
commenter les programmes.
10
31/01/2013
Le préprocesseur
11
31/01/2013
Le compilateur
Compilateur
Effectue une analyse lexicale et
.obj sémantique sur le code source pour
Programme compilé
.o détecter les éventuelles erreurs.
12
31/01/2013
Variables simples
26
13
31/01/2013
Tableaux
27
Tableaux
28
14
31/01/2013
Structures
29
Structures
30
15
31/01/2013
Pointeurs
32
16
31/01/2013
Pointeurs
33
Pointeurs
34
17
31/01/2013
Pointeurs
35
Pointeurs
36
18
31/01/2013
19
31/01/2013
20
31/01/2013
21
31/01/2013
22
31/01/2013
Opérateur : sizeof
sizeof(<type>)
sizeof(<variable>)
Fichier <stdlib.h>
void *malloc(size_t) allocation d’un bloc
void *calloc(size_t, size_t) allocation & initialisation d’un bloc
void *realloc(void *, size_t) modification de la taille d’un bloc
void free(void *) libération d’un bloc
23
31/01/2013
24
31/01/2013
25
31/01/2013
26
31/01/2013
Appel de fonctions
53
27
31/01/2013
28
31/01/2013
29
31/01/2013
30
31/01/2013
31
31/01/2013
32
31/01/2013
33
31/01/2013
34
31/01/2013
35