Vous êtes sur la page 1sur 6

13/01/2018

Chapitre 0

INTRODUCTION À LA POO

© Imene Sghaier

ISET Nabeul
SEM2 & Mastère SEM1

OBJECTIFS ET ÉLÉMENTS DE CONTENU

 Objectifs spécifiques
 Introduire les facteurs de naissance de la POO
 Introduire la définition de la POO
 Eléments de contenu
 Historique
 Exemple
 Solution 1 : Programmation procédurale
classique
 Solution 2 : Programmation orientée objet

 Programmation orientée objet


 Volume Horaire :
 Cours : 1.5 heure
2

Imene Sghaier-Programmation Orientée Objet en Java

1
13/01/2018

HISTORIQUE
 La programmation classique telle que étudiée au travers
des langages C, Pascal… définie un programme comme
étant un ensemble de données sur lesquelles agissent des
procédures et des fonctions.
 Les données constituent la partie passive du programme.
Les procédures et les fonctions constituent la partie
active. Programmer dans ce cas revenait à :
 Définir un certain nombre de variables (structures,
tableaux…)
 Ecrire des procédures pour les manipuler sans associer
explicitement les unes aux autres.
 Exécuter un programme se réduit alors à appeler ces
procédures dans un ordre décrit par le séquençage des
instructions et en leur fournissant les données
nécessaires à l’accomplissement de leurs tâches. 3

Imene Sghaier-Programmation Orientée Objet en Java

HISTORIQUE
 Dans l’approche classique de programmation les
données et procédure sont traitées indépendamment
les unes des autres sans tenir compte des relations
étroites qui les unissent.
 Les questions qu’on peut poser dans ce cas :

 Cette séparation (données, procédures) est elle


utile ?
 Pourquoi privilégier les procédures sur les
données (Que veut-on faire ?) ?
 Pourquoi ne pas considérer que les programmes
sont avant tout des ensembles objets
informatiques caractérisé par les opérations qu’ils
connaissent ?
4

Imene Sghaier-Programmation Orientée Objet en Java

2
13/01/2018

EXEMPLE

 Consigne : on veut faire un programme de


gestion du personnel d’une entreprise
informatique. On y trouve des ingénieurs, des
techniciens, des directeurs et des ouvriers
d’entretiens (concierge, femme de ménage…).

Imene Sghaier-Programmation Orientée Objet en Java

SOLUTION 1 : PROGRAMMATION PROCÉDURALE CLASSIQUE

=> Que veut on faire ?

Nom
Prenom
NumTel Données attributs du type
Liste-diplomes
Spécialité
salaire
Struct Ingenieur

void Lire_Ing()
Fonctions de manipulation
void Ecrire_Ing()
du type
double CalcSalaireIng()

Imene Sghaier-Programmation Orientée Objet en Java

3
13/01/2018

SOLUTION 1 : PROGRAMMATION PROCÉDURALE CLASSIQUE

Nom
Prenom
NumTel Données attributs du type
Spécialité
Salaire
Labo
Struct Technicienr

void Lire_Tech()
Fonctions de manipulation
void Ecrire_Tech()
du type
double CalcSalaireTech()

Imene Sghaier-Programmation Orientée Objet en Java

SOLUTION 1 : PROGRAMMATION PROCÉDURALE CLASSIQUE

Nom
Prenom
NumTel Données attributs du type
Spécialité
Salaire
Fax
Struct Technicienr Service

void Lire_Dir()
Fonctions de manipulation
void Ecrire_Dir()
du type
double CalcSalaireDir()

Imene Sghaier-Programmation Orientée Objet en Java

4
13/01/2018

SOLUTION 1 : PROGRAMMATION PROCÉDURALE CLASSIQUE

 Soulignons le fait que


 Les procédures ecrire_ing(), ecrire_dir() et ecrire_tech()
auront beaucoup d’instruction en commun pour
l’affichage des propriétés en communs (nom, prenom…)
 Les procédures lire_ing(), lire_dir() et lire_tech() auront
beaucoup d’instruction en commun pour la lecture des
propriétés communes (nom, prenom…)
Ceci engendrera une perte de code, de temps et de
mémoire. Il vaut mieux changer de vision des choses!!
=> Pourquoi ne pas considérer que les programmes sont
avant tout des ensembles d’objets informatiques
caractérisés par les opérations qu’ils connaissent ?

Imene Sghaier-Programmation Orientée Objet en Java

SOLUTION 2 : PROGRAMMATION ORIENTÉE OBJET

 => De quoi parle-t-on ?

10

Imene Sghaier-Programmation Orientée Objet en Java

5
13/01/2018

PROGRAMMATION ORIENTÉE OBJET


 La POO est une méthode d’implémentation dans
laquelle les programmes sont organisés sous formes de
collections coopératives d’objets, dont chacun
représente une instance d’une classe quelconque et
dont toutes les classes sont membres d’une hiérarchie
de classes unis à travers des relations d’héritage.
 Dans l’approche orientée objet un algorithme sera
essentiellement vu comme un ensemble d’objets
auxquels l’utilisateur envoie des messages et qui s’en
envoient pendent le fonctionnement.
 Ces objets seront toujours pour l’utilisateur des boites
noires et qui contiendront des variables locales,
inconnues de l’environnement, et qui ne s’y intéressera
d’ailleurs pas. Le seul moyen d’accéder à ces objets sera
l’envoie des messages qu’ils sont capables de
comprendre. 11

Imene Sghaier-Programmation Orientée Objet en Java