Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parSévérine Bellanger Modifié depuis plus de 10 années
1
Static modeling, Thu 21.6.2001 G. Falquet, L. Nerima
2
ISIISI June 2001 - G. Falquet, L. NerimaClasses 2 References Grady Booch, James Rumbaugh, Ivar Jacobson The Unified Modeling Language User Guide, Addison- Wesley 1999 Pierre-Alain Muller Modélisation objet avec UML, Eyrolles 1997 Grady Booch, James Rumbaugh, Ivar Jacobson The Unified Modeling Language Reference Manual, Addison-Wesley 1999
3
ISIISI June 2001 - G. Falquet, L. NerimaClasses 3 Outline vObjects and classes vClass diagrams vRelationships vClass hierarchies and inheritance vClass modeling exercise
4
ISIISI June 2001 - G. Falquet, L. NerimaClasses 4 C'est quoi un objet Une entité contenant: des données (état) des procédures (comportement) Exemple d'objet Le rectangle r1 Chaque objet a une identité (Oid)
5
ISIISI June 2001 - G. Falquet, L. NerimaClasses 5 Messages et Méthodes le message déclenche l'exécution de la méthode sur l'objet r1.surface()retournera la valeur 40 r1.agrandir(5)modifie l'état de r1 -> largeur=25 et hauteur=40 Métaphore:1 objet …. 1 collection 1 objet …. N objets ….1 artisan 1 industrie … 1 Classe
6
ISIISI June 2001 - G. Falquet, L. NerimaClasses 6 Les classes Une classe est un moule pour fabriquer des objets · De meme structure · De meme comportement · Régit par les memes règles Exemple: La classe Rectangle
7
ISIISI June 2001 - G. Falquet, L. NerimaClasses 7 Instanciation dun objet Instanciation d'objet à partir de la classe new Rectangle(5,8) new Rectangle(4,4) Un objet est une instance d'une classe
8
ISIISI June 2001 - G. Falquet, L. NerimaClasses 8 Pourquoi les objets ? Bonne propriété "génie logiciel" Réunir données et traitements (le comportement est défini dans la classe) Encapsulation (cacher comment sont réalisées les méthodes) (cacher les variables) Héritage (affiner le comportement d'une classe) (factoriser le code, réutilisation) Polymorphisme Liaison dynamique
9
ISIISI June 2001 - G. Falquet, L. NerimaClasses 9 Contrôle de la visbilité
10
ISIISI June 2001 - G. Falquet, L. NerimaClasses 10 Diagramme de classe UML Notation UML Exemples
11
ISIISI June 2001 - G. Falquet, L. NerimaClasses 11 Diagramme dobjets Notation UML: Exemples: Le rectangle r1 un rectangle en général un objet avec ses attributs
12
ISIISI June 2001 - G. Falquet, L. NerimaClasses 12 Des liens entre les objets Les objets ont des liens entre eux Mais les classes ont des associations entre elles
13
ISIISI June 2001 - G. Falquet, L. NerimaClasses 13 Associations Indépendance des classes Association est un couplage faible entre classes Nommer l'association
14
ISIISI June 2001 - G. Falquet, L. NerimaClasses 14 Associations orienter le nom Les roles Le role que joue une classe dans une association
15
ISIISI June 2001 - G. Falquet, L. NerimaClasses 15 VillePersonne habitation Naissance Ordinateur Personne possèder allumer éteindre réparer Les roles multiples Stabilité des associations: Les liens entre les objets doivent exister en dehors de l'exécution d'une méthode. allumer, éteindre, réparer sont des méthodes
16
ISIISI June 2001 - G. Falquet, L. NerimaClasses 16 Multiplicité des associations Tout objet de A est associé par r à min objets de B et au plus max objets de B Cas 1, 0..1 Tout objet de A est associé exactement 1 objet de B Tout objet de A est associé au plus à 1 objet de B
17
ISIISI June 2001 - G. Falquet, L. NerimaClasses 17 Multiplicité (suite) Cas *, 0..*, 1..* Tout objet de A est associé optionnellement à plusieurs objets de B Tout objet de A est associé à plusieurs objets de B Exemple: Tout objet de A est associé à au moins 1 objet de B
18
ISIISI June 2001 - G. Falquet, L. NerimaClasses 18 1 et 1 seul Des exemples
19
ISIISI June 2001 - G. Falquet, L. NerimaClasses 19 au plus 1 Des exemples
20
ISIISI June 2001 - G. Falquet, L. NerimaClasses 20 à plusieurs … Des exemples
21
ISIISI June 2001 - G. Falquet, L. NerimaClasses 21 Association binaire, ternaire, … Arité de l'association (combien de classes) binaire ternaire
22
ISIISI June 2001 - G. Falquet, L. NerimaClasses 22 Association … encore plus ?
23
ISIISI June 2001 - G. Falquet, L. NerimaClasses 23 association attribuée Classe anonyme permet de mémoriser des informations dans le lien
24
ISIISI June 2001 - G. Falquet, L. NerimaClasses 24 parfois la classe doit perdre son anonymat (pour etre associées à d'autres classes) Classe - association ou bien des association ternaire …
25
ISIISI June 2001 - G. Falquet, L. NerimaClasses 25 ou encore une classe (permet la co-édition!) Classe - association
26
ISIISI June 2001 - G. Falquet, L. NerimaClasses 26 Employé Vol pilote copilote {ou exclusif} Contraintes Ordonner les liens ou-exclusif sous-ensemble de
27
ISIISI June 2001 - G. Falquet, L. NerimaClasses 27 Contraintes L'association ne se parcourt que dans un sens Le sens de navigation est indiqué par une flèche alternative
28
ISIISI June 2001 - G. Falquet, L. NerimaClasses 28 Agrégation Association non symétrique A est formé de B A pré-existe à B B n'existe pas sans A Autres dépendances A contient B (ensembliste) Les attributs d'une classe sont dépendants de l'autres Les actions d'une classe sont dépendants de l'autres Agrégation modèlise un couplage plus fort que l'association
29
ISIISI June 2001 - G. Falquet, L. NerimaClasses 29 Exemple d'agrégation :A … est un ensemble de …:B Si un :B n'est lié qu'à un :A alors l'agrégation est une composition
30
ISIISI June 2001 - G. Falquet, L. NerimaClasses 30 Composition
31
ISIISI June 2001 - G. Falquet, L. NerimaClasses 31 Attribut de type classe attributs avec des types Classe ! Les objets :B et :C dans un objet :A
32
ISIISI June 2001 - G. Falquet, L. NerimaClasses 32 Autres exemples de composition
33
ISIISI June 2001 - G. Falquet, L. NerimaClasses 33 La généralisation Objectifs: partager Attributs (statique) Comportement (dynamique) On parle aussi de relation d'héritage
34
ISIISI June 2001 - G. Falquet, L. NerimaClasses 34 Différence entre agrégation et composition ?
35
ISIISI June 2001 - G. Falquet, L. NerimaClasses 35 Exemple de généralisation L'eau gazeuse est une eau L'eau est une boisson
36
ISIISI June 2001 - G. Falquet, L. NerimaClasses 36 L'eau contient du NaCl Généralisation - agrégation
37
ISIISI June 2001 - G. Falquet, L. NerimaClasses 37 Autre exemple de généralisation L'héritage a une propriété classifiante
38
ISIISI June 2001 - G. Falquet, L. NerimaClasses 38 La classification cela n'est pas simple ! Autre exemple de généralisation
39
ISIISI June 2001 - G. Falquet, L. NerimaClasses 39 Principe de substitution de Liskow Si :A est un :B Alors il doit etre possible de substituer à un objet de la classe la plus générale (B) un objet d'une de ses sous-classes (A) sans modifier le comportement du système (un programme) :le chat miaule devient après substitution :le chat siamois miaule pas toujours respecté par les développeurs: L'héritage est utilisé pour propager du code Mécanisme de version Mécanisme de réutilisation
40
ISIISI June 2001 - G. Falquet, L. NerimaClasses 40 Exemple: La trajectoire des satellites peut se calculer comme celle d'une planète. Cependant la lune n'est pas une planète. Factoriser le code (sans classification)
41
ISIISI June 2001 - G. Falquet, L. NerimaClasses 41 On n'hérite son comportement depuis plusieurs classes ne partageant pas la meme arborescence Héritage Multiple
42
ISIISI June 2001 - G. Falquet, L. NerimaClasses 42 Héritage Multiple
43
ISIISI June 2001 - G. Falquet, L. NerimaClasses 43 Covariance Intégrer plusieurs critères indépendants dans une meme arborescence ? Exemple : Critères du milieu ou …
44
ISIISI June 2001 - G. Falquet, L. NerimaClasses 44 Moteur Véhicule MarinTerrestreAérien Sans MarinTerrestreAérien … ou de propulsion Covariance (suite)
45
ISIISI June 2001 - G. Falquet, L. NerimaClasses 45 Covariance et Héritage Multiple
46
ISIISI June 2001 - G. Falquet, L. NerimaClasses 46 Break … and exercise time !
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.