Escolar Documentos
Profissional Documentos
Cultura Documentos
Rfrences: C++ from the Beginning, Jan Skansholm, Addison Wesley, 1997 Chapitres couverts
Chapitre 6 Chapitre 7 Chapitre 8 Chapitre 12 Object-oriented Program Development Classes More about Classes Dynamic Data Structures
1
Contenu
Chapitre 12 : Programmation orient-objet
Analyse Conception Programmation
Chaque objet est une instance dune classe: une classe groupe les objets qui ont le mme comportement (~ types et variables) Les classes sont organises en une structure arborescente, appele hirarchie d hritage (non 3 explique dans ce cours)
DB des horaires
Sally
Compagnie de train
Elements de programmation OO
Lexcution (exemple le scenario rservation) est ralis par des Objets
Exemple: Alice, Tom, Sally, DB, ...
Le recepteur du message peut laccepter et effectuer laction en utilisant ses propres donnes et renvoie un rsultat. Les comportements possibles dun objet est donn par les mthodes dfinies pour cet objet (~ procdures associes).
6
Encapsulation
Lencapsulation OO est le groupement de donnes et de procdures traitant ces donnes.
Donnes
Comportement
Interface
DATA
BEHAVIOR
Incidents (Evnements)
Dcision Dcollage, , Crash
Intractions
Contrat Mariage
Rles
Employ, Employeur Pilote, Passager Joueur, Supporter, Journaliste
Exemple
Objets Classe Ascenseur Direction Etage Aller_vers( ) Stop ( ) Quel_tage ( )
Asc1BatUA:ascenseur
Haut 2
Asc2BatNO:ascenseur
Stationnaire 8
10
Objet
Un objet a:
Un tat (ensemble des valeurs des attributs) Un comportement Une identit
La structure et le comportement des objets similaires est dfini par une classe.
11
Attributs de donnes
Visibilit (+ : public; # : protected; - : private) Nom Window Type + position : Coordinate = (0,0) # lenght : Integral Valeur initiale # height : Integral
- visibility : Boolean + display () : Boolean + create (position : const Point&)
Mthodes (oprations)
Visibilit Nom Arguments (paramtres) Type de retour
12
Signature
13
DB des horaires
Agence de voyage
Plusieurs types de relations peuvent exister entre des objets (classes) Exemples: Anne est la mre de Julie Un bateau est un vhicule Anne est la propritaire de cette voiture Ma voiture a 4 roues 14
4 types de relations
Association Aggrgation Composition Gnralisation (Hritage) (pas dans ce cours)
Remarque: lexemple prcdant est un diagramme dobjets UML Gnralement on regarde le diagramme de classe qui montre les liens entres les classes dfinies dans lapplication
15 (UML est un langage graphique utiliser pour analyser les systmes OO concevoir)
Association Reprsente la Relation connat entre les classes (aussi appel lien)
Exemples Est mari Travaille pour Est le propritaire de
16
employ Personne *
Travaille pour
Multiplicit Multiplicity
17
Association
Caractristiques :
Association nom Pour chque extrmit
Multiplicit
rien * 0..1 1 : non spcifi : zro ou plus : optionel : 1 et un seul 1
Nom de rles Navigabilit Note: on aura les mmes caractristiques pour les Aggrgation & Composition (voir plus bas)
18
John : Personne
OA Group : Socit
Isabelle : Personne
Alain : Personne
Anne : Personne
19
IBM : Socit
Ordre
Client
Navigabilit
20
0..1 patron
Personne
0..*
employ
Diagramme dobjet
employ
patron
John:Personne
Mary:Personne
21
22
Points
3..*
Polygone
* 1
Agrgation
23
Style
couleur
voiture
bateau
24
train
vlo
Attributs spcifiques
Etudiant
*
Professeur
*
*
25
Cours *
Analyse OO
Objectif : analyser et spcifier les besoins, comprendre et dcrire ce que le programme doit faire Dmarche (itrative; partie structure statique )
Trouver les objets faisant partie du modle Dfinir leurs attributs Etablir les relations qui les relient
26
Analyse OO
Comment trouver les objets ?
Considrer les entits relles de lenvironnement Partir de scnarios reprsentatifs (partie dynamique et comportementale) et vrifier que tous les services que doivent rendre les objets sont disponibles
27
Conception OO
Le modle de lanalyse est rendu plus concret, et le comment les problmes doivent tre rsolus? est abord Deux parties
Conception du systme : modularisation du systme en sous-systmes, communication avec lenvironnement Conception dtaille des objets : ajouter les dtails ncessaires la couverture des fonctions dsires et des messages traiter entre clients et classes - choix des algorithmes (oprations effectuer) et des structures de donnes (construction interne)
28
Adaptable : permettre la maintenance (correction derreurs, ajout ou modification de fonctionnalits) ; bas sur une grande cohsion interne, un faible couplage externe, et le principe dinformation hiding
29
Hritage
Partir d objets existants et leur ajouter / supprimer / modifier des attributs en vue de crer de nouveaux objets
Gnricit
Crer des codes qui puissent tre utiliss avec diffrentes classes dobjets, telles que les containers (liste, ensemble)
30