Vous êtes sur la page 1sur 18

LA PROGRAMMATION ORIENTE OBJET (POO)

Enseignante: Mariem Chaabouni Filire IIA3 2012/2013

LA PROGRAMMATION ORIENTE OBJET


Structurer le programme autour dobjets Les traitements sont associs aux objets Sparation plus claire entre donnes et traitements
Objet
Objet

LES NOTIONS DE BASE DE LA POO


Objet Un objet est une reprsentation abstraite des entits du monde rel ou virtuel dans le but de les piloter ou les simuler Un objet = un tat (couleur, marque, maison mre, propritaire ) + un comportement (rouler, freiner, garer) + une identit (un numro dimmatriculation)

LES NOTIONS DE BASE DE LA POO : LES OBJETS


Un ensemble dobjets
possde possde

possde

Monsieur X

a vendu

possde possde

achte

Monsieur Y
lit

LES NOTIONS DE BASE DE LA POO


Classe
Une classe est une famille dobjets ayant les mmes attributs et les mmes mthodes Une classe correspond un type. Elle dcrit comment les spcifications sont ralises Les objets sont des instances de classes.

LES NOTIONS DE BASE DE LA POO : LES CLASSES


possde possde

Un ensemble dobjets

possde

Monsieur X

a vendu

possde possde

achte

Monsieur Y

La classe Appareil

lit La classe Personne

La classe Voiture

LES NOTIONS DE BASE DE LA POO


Une classe Voiture Numro immatriculation Marque couleur Rouler() Freiner() Garer() Nom de la classe Attributs

Mthodes

Numro immatriculation= 8998989 Marque : Volkswagen Modle : Polo Numro immatriculation= 1212121 Couleur : Noir Marque : Peugeot Objet 3= une Modle : 206 Numro immatriculation= 4544544 instance Couleur : rouge Marque : Renault Modle : Clio Objet 2= une Objet 1= une Couleur : Noir instance instance

Instanciation

LES NOTIONS DE BASE DE LA POO


Encapsulation
Une classe est dcrite par des donnes (attributs) et des traitements s'appliquant ces donnes (mthodes). Mthodes et attributs sont les membres de la classe
class Point{ int x,y; public: Point(int,int) };

Il sagit de ne montrer lutilisateur que ce qui lui est destin (types daccs: public, private, protected)

LES NOTIONS DE BASE DE LA POO


Constructeur et destructeur Le constructeur d'une classe est une mthode qui est appele lors de l'instanciation d'un objet de cette classe
Il construit lobjet avec ses attributs Initialise les valeurs des attributs Nom du constructeur=Nom de la classe

Un destructeur est une mthode particulire appele lors de la dsallocation (destruction) d'un objet.

Hritage

LES NOTIONS DE BASE DE LA POO

Le mcanisme d'hritage (ou de drivation) permet une classe d'hriter des mthodes et attributs d'une ou plusieurs autres classes.
Driver une classe partir dune classe existante

Elle peut alors rajouter ses propres attributs ou fonctions. "hrite de" doit pouvoir tre remplac par "est un(e)".
Personne CIN Nom Age setAge() Classe mre Spcialisation

Gnralisation est un

Etudiant Num carte tudiant Filire Etudier() Classe fille

Employ Num CNSS Spcialit Travailler()

LES NOTIONS DE BASE DE LA POO


Avantages de lhritage
Une classe drive modlise un cas particulier de la classe de base Une hirarchie de classes facilite la solution de problmes complexes Facilite la maintenance, le dveloppement et les extensions

LES NOTIONS DE BASE DE LA POO


Polymorphisme
Une classe Y drivant d'une classe X est la fois Y et X : c'est le polymorphisme. (par exemple Ali , une instance de la classe Etudiant est la fois Un tudiant et Une personne)
Ces objets sont dits polymorphes peuvent prendre plusieurs formes

Une mthode polymorphe est une mthode qui a plusieurs formes en fonction de la classe dans laquelle elle se situe.

LES LANGAGES DE PROGRAMMATION OBJETS


Les trois langages les plus en vogue en gnie logiciel
C++ (Une version OO du langage C) Ada95 (Une version OO du langage Ada) Java

Le C++ possde des fonctionnalits supplmentaires par rapport au langage C:


La surcharge de fonctions Le passage par rfrence Lemplacement des dclarations Lallocation dynamique

Les apports du C++ sont:


Laide labstraction des donnes : dfinition de types de donnes, et de leurs implmentation concrte. Laide la programmation objet : hirarchie des classes et hritage

AVANTAGES DE LA POO

La modularit
La rutilisabilit Lextensibilit La compatibilit

La validit Lefficacit

La robustesse

AVANTAGES DE LA POO
La modularit: Sparer le programme en modules (Les classes) Units fonctionnelles autonomes,

Une compilation spare

AVANTAGES DE LA POO
La modularit La rutilisabilit: rutilisabilit = aptitude d'un logiciel tre rutilis en tout ou partie par une autre application Programmer moins pour programmer mieux La modularit favorise la rutilisabilit mais ne suffit pas Il faut pouvoir adapter une solution de nouveaux types de donnes Les objets sont facilement rutilisables dans dautres programmes

AVANTAGES DE LA POO
La modularit Lextensibilit: extensibilit = facilit dadaptation aux changements de spcification Permettre lajout simple de nouvelles fonctionnalits La modularit La compatibilit: compatibilit = aptitude tre combin avec dautres logiciels

AVANTAGES DE LA POO
La validit:
validit = aptitude raliser exactement les tches dfinies par sa spcification

Lefficacit:
efficacit = utilisation optimale des ressources du matriel et vitesse dexcution (processeurs, mmoires internes et externes, voies de communication, . . . ).

La robustesse:
robustesse = aptitude fonctionner mme dans des conditions anormales