Programmation oriente objet et C - PowerPoint PPT Presentation

1 / 48
About This Presentation
Title:

Programmation oriente objet et C

Description:

Instanciation : Relation entre un objet et une classe indiquant que l'objet en question est une instance de la classe (une occurrence d'un type abstrait) ... – PowerPoint PPT presentation

Number of Views:65
Avg rating:3.0/5.0
Slides: 49
Provided by: Sco7184
Category:

less

Transcript and Presenter's Notes

Title: Programmation oriente objet et C


1
Partie 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

2
OBJETS 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é

3
OBJETS 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é
4
OBJETS 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

5
CLASSES 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

6
CLASSES 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 

7
CLASSES
  • Représentation schématique dune classe

8
CLASSES
  • Exemples de classes

Voiture
Point
Robot
marque couleur nImmatriculation
type taille nserie
x y

retourneX ( ) retourneY ( )
demarrer ( ) conduire ( ) arreter ( )

avancer ( ) reculer ( ) parler ( ) attraper ( )
9
OBJETS
  • Représentation schématique dun objet

10
OBJETS
  • Exemples dobjets

11
OBJETS 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
31
ENCAPSULATION
  • 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
  • Interface de lobjet

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 ( )

35
ENCAPSULATION
  • 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.

37
POLYMORPHISME 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 )

39
METHODES 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

42
REFERENCES
43
REFERENCE WEB
44
EXERCICES
45
EXERCICES
46
EXERCICES
47
EXERCICES
48
EXERCICES

Article

référence protégé désignation protégé prixHT
protégé quantité protégé
Write a Comment
User Comments (0)
About PowerShow.com