Title: Programmation oriente objet et C
1Partie I Introduction à la conception objet
- Notion dobjet
- Notion de classe
- Relation dinstanciation
- Communication entre objets messages et
diagrammes de collaboration - Relations entre classes et diagrammes de classes
- Encapsulation et polymorphisme
-
- Les méthodes objet
- Récapitulatif
2OBJETS Définitions
- Objet entité autonome modélisant laspect
statique et dynamique dune partie du monde réel - Un objet peut représenter une réalité physique (
une voiture, un bateau ) ou virtuelle (
sécurité sociale, un raisonnement ) - Chaque objet possède des attributs, des
méthodes, une identité -
-
3OBJETS Définitions
- attributs ( données membres ) données
caractérisant létat de lobjet - méthodes ( fonctions membres ) opérations
définissant le comportement de lobjet. Elles lui
permettent dagir sur ces attributs et de réagir
aux sollicitations extérieures - identité identifiant permettant de le
distinguer des autres indépendamment de son état -
Objet État Comportement Identité
4OBJETS Exemples
- Peugeot 106 de couleur grise immatriculée 59 VT
75 -
- Attributs couleur grise, marque Peugeot,
n im 59 VT 75 - Méthodes avancer ( ), reculer ( )
- identité 106
- Renault espace de couleur verte immatriculée 985
SV 69 -
- Attributs couleur verte, marque Renault,
n im 985 SV 69 - Méthodes avancer ( ), reculer ( )
- identité espace
5CLASSES Définition
- Classe Une classe est un type de données
abstrait regroupant les caractéristiques
(attributs et méthodes) communes à des objets et
permettant de créer des objets possédant ces
propriétés -
- Une classe représente la structure, le squelette
commun à un ensemble dobjets - Une classe est une abstraction dobjets
- Un objet est une instance de classe
-
6CLASSES exemples
- Classe voiture
- Attributs couleur , marque , n im
- Méthodes avancer ( ), reculer ( )
-
- Les objets  106 et  espace sont des
instances de la classe  Voiture -
- La classe  Voiture est une abstraction des
objets  106 et  espaceÂ
7CLASSES
- Représentation schématique dune classe
8CLASSES
Voiture
Point
Robot
marque couleur nImmatriculation
type taille nserie
x y
retourneX ( ) retourneY ( )
demarrer ( ) conduire ( ) arreter ( )
avancer ( ) reculer ( ) parler ( ) attraper ( )
9OBJETS
- Représentation schématique dun objet
10OBJETS
11OBJETS ET CLASSES Représentation schématique de
la relation dinstanciation
- Instanciation Relation entre un objet et une
classe indiquant que lobjet en question est une
instance de la classe (une occurrence d'un type
abstrait)
Exemple bidon est une instance de la classe AÂ
A
attributs
méthodes
12 OBJETS ET CLASSES Exemples dinstanciations
- Les objets espace et 106 sont des instances de
la classe VoitureÂ
Voiture
marque couleur nImmatriculation
demarrer ( ) conduire ( ) arreter ( )
13 COMMUNICATION ENTRE OBJETS Messages
- La communication entre objets se fait par
lenvoi de messages -
- Les messages sont synchronisés ( ordres denvoi,
conditions denvoi ) - Message simple, synchrone, dérobant, minuté,
asynchrone - Les messages représentent une vue dynamique dun
modèle objet
objetA
objetB
Intitulé du message
14 COMMUNICATION ENTRE OBJETS Diagrammes de
collaboration
- Les diagrammes de collaboration permettent de
représenter schématiquement lenvoi de messages
entre objets.
décoller
tourDeControle
atterrir
15 RELATIONS ENTRE CLASSES
16 HERITAGE Définition
- Héritage Relation de transmission des
propriétés d'une classe (ses attributs et
méthodes) vers une sous-classe - Une classe peut être spécialisée en d'autres
classes, afin d'y ajouter des caractéristiques
spécifiques ou d'en adapter certaines - Plusieurs classes peuvent être généralisées en
une classe qui les factorise, afin de regrouper
les caractéristiques communes d'un ensemble de
classes - Lhéritage permet de définir une hiérarchie de
classes
17 HERITAGE Exemple de hiérarchie de classes
18 HERITAGE Relation dhéritage
- La classe A est appelée super-classe de B
- classe mère
- classe de base
-
- La classe B est appelée de A
- classe dérivée
- classe fille
- sous-classe
-
19 HERITAGE Illustration de la transmission des
propriétés
p Point3D
p hérite des attributs x et y p hérite
également des méthodes de la classe Point
instanceOf
x y z
retourneX ( ) retourneY ( ) retourneZ ( )
Point
x, y
retourneX ( ) retourneY ( )
20 HERITAGE MULTIPLE
- L'héritage peut être simple ou multiple
- simple une classe dérive dune seule classe
- multiple une classe dérive de plusieurs
classes
Classe A
Classe B
Classe C
Héritage multiple
21 HERITAGE MULTIPLE Exemple de hiérarchie des
classes
- La classe  Omnivore  hérite des classes  Â
 Herbivore  et  CarnivoreÂ
22 HERITAGE MULTIPLE Illustration de la
transmission des propriétés
pix Pixel
numeroPixel x y numeroCouleur
instanceOf
numeroPixel
retourneX ( ) retourneY ( ) retourneCouleur (
) afficher ( )
Couleur
Point
x, y
numeroCouleur
retourneX ( ) retourneY ( )
retourneCouleur ( )
23 ASSOCIATION Définition
- Association Relation simple entre deux classes
sans notion de dépendance forte, ni lien de
subordination entre les deux - Relation symétrique
- On peut mentionner des cardinalités dans la
relation
Relation dassociation
2
1..
Classe A
Classe B
 A  est associée à 1.. BÂ
B  est associée à 2 AÂ
24 ASSOCIATION Exemple
1..
0..
Train
Passager
- Un train est associé à 0.. passager(s)
- Un passager est associé à 1.. train(s)
25 AGREGATION Définition
- Agrégation Relation entre deux classes
spécifiant que les objets dune classe sont des
composants de lautre classe - L'agrégation permet d'assembler des objets de
base, afin de construire des objets plus
complexes - On parle dobjet agrégat et dobjet agrégé
- Relation dissymétrique transitive
Relation dagrégation
Classe A
Classe B
 A  a un BÂ
26 AGREGATION cardinalités
- On peut également spécifier des cardinalités
dans la relation dagrégation.
1..
1..
Classe A
Classe B
Â
- Par défaut la cardinalité est de 1
27 AGREGATION exemples
- Un train est un agrégat de 1.. wagon(s), 1
wagon est associé à 1.. train(s)
1..
1..
Train
Wagon
- Un wagon est un agrégat de 1.. siège(s), 1
siège est associé à 1 wagon
1..
1..1
Wagon
Siege
28 COMPOSITION Définition
- Composition idem que la relation dagrégation
mais dépendance plus forte entre les deux
classes. - On parle dobjet composite et dobjet composant
- La destruction dun objet composant remet en
cause le sens de lobjet composite et inversement
( différent de lagrégation )
Relation de composition
Classe A
Classe B
 A est composé dun BÂ
29 COMPOSITION exemple
- Une molécule deau est composée de deux atomes
hydrogène et dun atome doxygène
2
30 Diagramme de classes
- Il représente les différentes relations entre
classes - Il reflète laspect statique du modèle objet
Exemple
1..
1..
1..
1..1
Train
Wagon
0..
1..1
1..
8
Passager
Roue
31ENCAPSULATION
- Mecanisme qui permet dassurer lintégrité des
attributs de lobjet - Lutilisateur de lobjet ne peut modifier
directement les attributs de lobjet - Laccès aux attributs de lobjet est rendu
possible par linterface de lobjet - ( ensemble de méthodes rendues accessibles Ã
lutilisateur ) - Linterface constitue la vue externe de lobjet
-
32 ENCAPSULATION
33 ENCAPSULATION
- Lencapsulation définit 3 types daccès aux
membres ( attributs méthodes ) - Membres Privés accès réservé aux méthodes de
lobjet lui même - Membres Protégés accès réservé aux objets
issus de classes héritières - Membres Publics accès autorisé pour tous les
objets
34 ENCAPSULATION
- Laccès à x et y nest pas possible directement
- Il faut passer par les méthodes retourneX ( ) et
retourneY ( )
35ENCAPSULATION
- Vues du concepteur, de lutilisateur, et du
concepteur dune classe dérivée
Vue du concepteur de la classe
Partie inaccessible
Partie privée
Partie protégée
Partie publique
Vue de lutilisateur de la classe
36 POLYMORPHISME Définition
- Polymorphisme faculté d'une méthode à pouvoir
s'appliquer à des objets de classes héritées en
prenant différentes formes. - On parle de redéfinition de méthodes dans les
sous classes.
37POLYMORPHISME Illustration
Carré
Cercle
Figure
Point centre Entier diametre
Point p1, p2, p3, p4
Entier numeroFigure
afficher ( ) dessiner carré
afficher ( ) écrire numeroFigure
afficher ( ) dessiner cercle
Figure tab3 Figure ( uneFigure , Carre
( unCarre ), Cercle ( unCercle ) for (int
i 0 i lt 3 i) tabi.afficher( )
38 METHODES OBJET
- Plus de 50 méthodes objet ont été mises aux
points entre 1970 et 1994 - Les plus utilisées OMT, BOOCH93, OOSE
- En 1994, ces méthodes ont été mises en commun
pour donner UML ( Unified Modeling
Language )
- Principe général
- 1) Déterminer les objets présents dans le domaine
qui nous intéresse afin disoler leurs données et
les fonctions qui les utilisent. - 2) Modéliser les relations entre objets et leur
interactions ( aspect statique et dynamique )
39METHODES OBJET
Modèle objet du domaine
Programmation objet
Monde réel
Diagrammes de classes Diagrammes de
collaboration
Domaine du monde réel
Méthodes de modélisation objet ( UML )
Langages de programmation orientée objet ( JAVA,
C )
40 APPROCHE OBJET Récapitulatif
- Une objet est une instance de classe caractérisé
par une identité, des attributs et des méthodes - Les attributs et les méthodes sont encapsulés
dans lobjet grâce au mécanisme dencapsulation.
Lobjet communique avec lextérieur par certaines
méthodes qui définissent sont interface - Les objet communiquent entre eux par lenvoi de
messages synchronisés de différentes manières -
41 APPROCHE OBJET Récapitulatif
- Une classe est une abstraction dobjets
- Lhéritage permet à une sous-classe dhériter
des attributs et des méthodes dune super-classe.
Il favorise la réutilisation - L'agrégation permet d'assembler des objets de
base, afin de construire des objets plus
complexes - Le polymorphisme permet dappliquer une méthode
dune classe A Ã des sous-classes de A. Il
favorise la généricité et les traitements en
commun
42REFERENCES
43REFERENCE WEB
44EXERCICES
45EXERCICES
46EXERCICES
47EXERCICES
48EXERCICES
Article
référence protégé désignation protégé prixHT
protégé quantité protégé