Vous êtes sur la page 1sur 6

POO CONCEPTS DE BASE DE LA POO

CHAPITRE 1 :

CONCEPTS DE BASE DE LA POO


Objectifs spcifiques Introduire les facteurs de naissance de la POO Introduire la dfinition de la POO Introduction au concept de lapproche OO Elments de contenu I. De la programmation classique vers la POO II. Dfinition III. Concepts de base de la POO Volume Horaire : Cours : 1 heure 30 TD : 0 heure

1.1

De la programmation classique vers la programmation oriente objet

La programmation classique telle que tudie au travers des langages C, Pascal dfinie un programme comme tant un ensemble de donnes sur lesquelles agissent des procdures et des fonctions. Les donnes constituent la partie passive du programme. Les procdures et les fonctions constituent la partie active. Programmer dans ce cas revenait : dfinir un certain nombre de variables (structures, tableaux) crire des procdures pour les manipuler sans associer explicitement les unes aux autres.

Excuter un programme se rduit alors appeler ces procdures dans un ordre dcrit par le squenage des instructions et en leur fournissant les donnes ncessaires laccomplissement de leurs tches.

Mlle I.Sghaier

- 4

POO CONCEPTS DE BASE DE LA POO

Dans cette approche donnes et procdure sont traites indpendamment les unes des autres sans tenir compte des relations troites qui les unissent. Les questions quon peut poser dans ce cas : 1. Cette sparation (donnes, procdures) est elle utile ? 2. Pourquoi privilgier les procdures sur les donnes (Que veut-on faire ?) ? 3. Pourquoi ne pas considrer que les programmes sont avant tout des ensembles objets informatiques caractris par les oprations quils connaissent ? Les langages objets sont ns pour rpondre ces questions. Ils sont fonds sur la connaissance dune seule catgorie dentits informatiques : les objets. Un objet incorpore des aspects statiques et dynamiques au sein dune mme notion. Avec les objets ce sont les donnes qui deviennent prpondrantes. On rpond tout dabord la question De quoi parle-t-on ?

Donnes Mthodes Objet 1

Donnes Mthodes Objet 2

Un programme est constitu dun ensemble dobjets chacun disposant dune partie procdures et dune partie donnes. Les objets interagissent par envoie de messages.

1.2

Dfinitions
1.2.1 POO

La POO est une mthode dimplmentation dans laquelle les programmes sont organiss sous formes de collections coopratives dobjets, dont chacun reprsente une instance dune classe quelconque et dont toutes les classes sont membres dune hirarchie de classes unis travers des relations dhritage.

1.2.2

Algorithmique Objet

Dans lapproche orient objet un algorithme sera essentiellement vu comme un ensemble dobjets auxquels lutilisateur envoie des messages et qui sen envoient pendent le fonctionnement. Ces objets seront toujours pour lutilisateur des boites noires et qui contiendront des variables locales, inconnues de lenvironnement, et qui ne sy intressera dailleurs pas. Le seul moyen daccder ces objets sera lenvoie des messages quils sont capables de comprendre. Rq : La spcification dun systme dans lapproche OO va saxer principalement sur la dtermination des objets manipuler. Une fois cette tape ralis le concepteur naura plus qu raliser les fonctions de haut niveau qui sappuient sur les objets et les familles dobjets dfinis.

Mlle I.Sghaier

- 5

POO CONCEPTS DE BASE DE LA POO

1.2.3

Objet et classe

Un objet est une entit logicielle : Ayant une identit Capable de sauvegarder un tat c'est--dire un ensemble dinformation dans des variables internes. Rpondant des messages prcis en dclenchant des activations internes appropris qui changent ltat de lobjet. Ces opration sont appeles mthodes. Ce sont des fonctions lies des objets et qui prcisent le comportement de ces objets.

1.2.4

Attributs

Les attributs dun objet sont lensemble des informations se prsentant sous forme de variable et permettant de reprsenter ltat de lobjet. 1.2.5

Message

Un message est une demande dactivation dune mthode envoy un objet. 1.2.6

Mthodes

Une mthode est une fonction ou procdure lie un objet qui est dclenche la rception dun message particulier : la mthode dclenche correspond strictement au message reu. La liste des mthodes dfinies au sein dun objet constitue linterface de lobjet pour lutilisateur : ce sont les messages que lobjet peut comprendre si on les lui envoie et dont la rception dclenche les mthodes correspondantes.

1.2.7

Signature

La signature dune mthode reprsente la prcision de son nom, du type de ses arguments et du type de donne retourne.

1.3

Concept de base de la POO


Encapsulation Abstraction Classe et objets Hritage Polymorphisme

La POO se base sur les notions cls suivantes :

1.3.1 Encapsulation

Mlle I.Sghaier

- 6

POO CONCEPTS DE BASE DE LA POO

Lencapsulation est le faite quun objet renferme ses propres attributs et ses mthodes. Les dtails de limplmentation dun objet sont masqus aux autres objets du systme objets. On dit quil ya encapsulation de donnes et du comportement des objets. On prcise trois modes daccs aux attributs dun objet. Le mode public avec lequel les attributs seront accessibles directement par lobjet lui mme ou par dautres objets. Il sagit du niveau le plus bas de protection. Le mode private avec lequel les attributs de lobjet seront inaccessibles partir dautres objets : seules les mthodes de lobjet pourront y accder. Il sagit du niveau le plus fort de protection. Le mode protected : cette technique de protection est troitement associe la notion dhritage (suite du cours).

1.3.2 Abstraction
Cest le faite de se concentrer sur les caractristiques importantes dun objet selon le point de vue de lobservateur.

Exemple : Voiture
Labstraction est un principe qui consiste ignorer certains aspects dun sujets qui ne sont pas importants pour le problme dans le but de se concentrer sur ceux qui le sont.

1.3.3

Classes, objets, instances


les mmes mthodes les mmes types dattributs

Une classe est un ensemble dobjets qui ont en commun :

Classe = attributs + mthodes + instanciations


Une instance dune classe est un objet particulier dune classe qui peut activer les mthodes de la classe et qui a des valeurs particulires de ses attributs. On dfinit lobjet comme linstance dune classe. La classe reprsente pour lobjet ce que reprsente le type pour la variable. Un objet est caractris par : Son identit (OID) : valeur unique et invariante qui caractrise lobjet Son comportement : qui est dfini travers les mthodes applicables cet objet et qui caractrisent sa faon dagir et de ragir dans son environnement. Son tat : qui constitue lensemble des valeurs des attributs de cet objet. Une classe est un type abstrait qui encapsulent donnes et traitement. Cest une sorte de moule qui permet ensuite de crer autant dinstances quon veut. Ces instances seront des objets de la classe auxquelles on pourra effectivement envoyer des messages qui activeront les mthodes correspondantes.

Mlle I.Sghaier

- 7

POO CONCEPTS DE BASE DE LA POO

Classe Etudiant Attributs : Nom : char[] nom Prenom : char[] prenom Age : int a Mthodes : Lecture-etudiant() Ecriture-etudiant() Calcul-age()

Objet 1 : Etudiant1 Nom : Aoun Prenom : Abdelkarim Age : 20 Objet 2 : Etudiant2 Nom : Garbi Prenom : Wissem Age : 19 3 instances de la classe Etudiant

Objet 3 : Etudiant3 Nom : Jlassi Prenom : Imene Age : 18

1.3.4 Hritage
La notion dhritage est une relation entre diffrentes classes permettant de dfinir une nouvelle classe en se basant sur les classes existantes. On parle dhritage simple lorsquuen classe fille ne possde quune classe mre. On parle dhritage multiple lorsquune classe fille possde plusieurs classes filles.

Classe A

Classe mre

Classe B Hritage simple Classe A

Classe fille

Classe B

Classe C Hritage Multiple 1.3.5 Polymorphisme


Le terme polymorphisme issu du grec signifie la facult de prendre plusieurs formes.

Mlle I.Sghaier

- 8

POO CONCEPTS DE BASE DE LA POO

Une entit est polymorphe si lexcution elle peut se rfrer des instances de classe diffrentes.

Exemples : Secrtaire Calcul-salaire() Employ Calcul-salaire() Ingnieur Calcul-salaire()

Personne nage()

Poisson nage()

Le polymorphisme est un mcanisme qui permet une sous classe de redfinir une mthode dont elle a hrit tout en gardant la mme signature de la mthode.

Mlle I.Sghaier

- 9