01 - introduction à la modélisation objet

64
 ECTS Code : 2ADS CORE KNOWLEDGE N r1 www.supinfo.com Copyright © SUPINFO. All rights reserved Intr  oduction à la modél isation objet

Upload: froufroux

Post on 13-Jul-2015

189 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 1/64

 

ECTS Code : 2ADSCORE KNOWLEDGE Nr1

www.supinfo.com

Copyright © SUPINFO. All rights reserved

Intr 

 

oduction à lamodélisation objet

Page 2: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 2/64

 

Votr e Full Pr of 

Titr e: Full Professor.

Distinction: Docteur enMathématiques.

For mation: D.E.A. de

Mathématiques appliquées.Publications: notes aux ComptesRendus de l¶Académie des Sciencesde Paris, article dans la revue« journal of theoretical probability ».

Contact:[email protected]

Laur ent GODEFROY

Intr oduction à la modélisation objet

Page 3: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 3/64

 

Objectif s de ce module

Cerner les limites de laprogrammation procédurale.

Introduire les concepts novateur 

de la programmation orientéeobjet :

Classe

Encapsulation

Héritage

Polymorphisme

Intr oduction à la modélisation objet

Page 4: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 4/64

 

Plan du module

I. De la pr ogr ammation pr océdur ale à lapr ogr ammation orientéeobjet.

II. Quelques pr opriétés importantes de la

modélisation objet.

V

oici les parties que nous allons aborder :

Intr oduction à la modélisation objet

Page 5: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 5/64

 

. De la pr ogr ammation pr océdur ale à la

pr ogr ammation orientéeobjet.

Intr oduction à la modélisation objet

Page 6: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 6/64

 

Plan de la partie

1. Les limites de la programmationprocédurale.

2. Une alternative : la programmationorientée objet.

3. Trois principes fondamentaux dela programmation orienté objet.

Voici les chapitres que nous allons aborder :

. De la pr ogr ammation pr océdur ale à la pr ogr ammation OO

Page 7: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 7/64

1. Limites de la pr og. pr océdur ale

     Les premiers programmes, écrits en langage machine,dépendaient fortement de l¶architecture des ordinateursutilisés.

     Ils n¶étaient qu¶une suite d¶instructions liées auprocesseur qui les exécutait : mémorisation de données,opérations élémentaires d¶arithmétique et de logique.

. De la pr ogr ammation pr océdur ale à la pr ogr ammation OO

 

Page 8: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 8/64

1. Limites de la pr og. pr océdur ale

     C¶étaient d¶ailleurs les mêmes personnes quiconcevaient, utilisaient et programmaient ces machines

. De la pr ogr ammation pr océdur ale à la pr ogr ammation OO

 

Page 9: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 9/64

1. Limites de la pr og. pr océdur ale

     Suite à l¶invention du circuit intégré et dumicroprocesseur, les ordinateurs ont vu leurs capacitésconsidérablement augmenter.

     Parallèlement ils ont fait leur apparition dans la société :

industrie, universités puis foyers.

. De la pr ogr ammation pr océdur ale à la pr ogr ammation OO

 

Page 10: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 10/64

1. Limites de la pr og. pr océdur ale

     Il est évident qu¶est apparue une sépar ation entr e les

concepteurs, les pr ogr ammeurs et les utilisateurs.

     Ces derniers ne savent généralement pas programmer, etfont appel à des logiciels pour adapter leurs ordinateurs àleurs besoins.

     Logiciels qui deviennent naturellement de plus en pluscomplexes au fur et à mesure que grandissent lesexigences des utilisateurs.

. De la pr ogr ammation pr océdur ale à la pr ogr ammation OO

 

Page 11: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 11/64

1. Limites de la pr og. pr océdur ale

     Le codage d¶algorithmes élaborés a contraint lesinformaticiens à concevoir des langages dits

pr océdur aux, tels que le Fortran, Le Basic, le Pascal oule C.

     Ceux ci se rapprochaient à la fois du langage et duraisonnement humain (cf . cours d¶algorithmique depremière année).

     De plus, les codes devenaient indépendants des typesde processeurs et donc relativement universels.

. De la pr ogr ammation pr océdur ale à la pr ogr ammation OO

 

Page 12: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 12/64

1. Limites de la pr og. pr océdur ale

     Ces langages sont procéduraux au sens où les données

sont sépar ées des pr océdur es et fonctions les

tr aitant.

     Pour réaliser un logiciel avec un tel langage, oncommence par identifier les fonctions principales et lesstr uctur es de données manipulées par ces fonctions.Ces fonctions principales pourront ensuite être

« découpées » en fonctions auxiliaires afin de simplifier leur conception.

. De la pr ogr ammation pr océdur ale à la pr ogr ammation OO

 

Page 13: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 13/64

1. Limites de la pr og. pr océdur ale

Deux inconvénients majeurs appar aissent :

Les fonctions écrites pour un projet ne seront querarement utilisables dans un autre projet.

Le découplage entre données et fonctions fait qu¶unemodification des structures de données entraine demultiples points de correction du logiciel.

Les logiciels ainsi conçus sont donc peu évolutif s et demaintenance difficile.

. De la pr ogr ammation pr océdur ale à la pr ogr ammation OO

 

Page 14: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 14/64

1. Limites de la pr og. pr océdur ale

     Sachant que 70% à 80% des coûts reliés à la conceptiond¶un logiciel résultent des mises à jours et deschangements apportés une fois le logiciel sorti, oncomprend l¶enjeu de simplif ier  les opér ations de

maintenance

     D¶où la nécessité d¶une façon de penser  et depr ogr ammer différ ente.

. De la pr ogr ammation pr océdur ale à la pr ogr ammation OO

 

Page 15: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 15/64

2. Une alternative : la POO

     Dans la pr ogr ammation orientée objet, on va regrouper au sein d¶une même entité certaines données et lesmoyens de tr aitement de ces données.

     Une telle entité s¶appellera un objet et possédera donc :

1. Une identité.

2. Des variables définissant sont état (attributs).

3. Des sous programmes gérant son comportement(méthodes).

. De la pr ogr ammation pr océdur ale à la pr ogr ammation OO

 

Page 16: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 16/64

2. Une alternative : la POO

     Des objets ayant des pr opriétés communes (attributs etméthodes) sont alors regroupés dans une structureabstraite appelée classe.

     On retrouve ainsi notre manière de pensée habituelle, oùnous « classifions » chaque élément de notre entourage :

animaux, véhicules, ordinateurs, étudiants, livres

. De la pr ogr ammation pr océdur ale à la pr ogr ammation OO

 

Page 17: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 17/64

2. Une alternative : la POO

Exemple de classe :

Classe Personne

Début Attributs :

Nom : CHAÎNE

Prénom : CHAÎNE

 AnnéeNaissance : ENTIER

Méthodes :

 Age() : ENTIER

RenvoyerNom() : CHAÎNE

Fin

. De la pr ogr ammation pr océdur ale à la pr ogr ammation OO

PersonneNom : CHAÎNEPrénom : CHAÎNE AnnéeNaissance : ENTIER

 Age() : ENTIERRenvoyerNom() : CHAÎNE

 

Page 18: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 18/64

2. Une alternative : la POO

Exemple de classe :

Classe Rectangle

Début Attributs :

Largeur : RÉEL

Longueur : RÉEL

Méthodes :

 Aire() : RÉEL

Périmètre() : RÉEL

Fin

. De la pr ogr ammation pr océdur ale à la pr ogr ammation OO

RectangleLargeur : RÉEL

Longueur : RÉEL

 Aire() : RÉEL

Périmètre() : RÉEL

 

Page 19: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 19/64

2. Une alternative : la POO

     A noter qu¶une démar che d¶abstr action est nécessairepour ne retenir que les propriétés (attributs et méthodes)pertinentes d¶un objet pour un problème précis.

. De la pr ogr ammation pr océdur ale à la pr ogr ammation OO

 

Page 20: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 20/64

2. Une alternative : la POO

     En POO une des questions fondamentales dudéveloppeur est donc : sur quoi porte l e pr ogr amme ?

     A opposer à la question fondamentale à se poser en

pr ogr ammation pr océdur ale : à quoi sert lepr ogr amme ?

     Cette différence se retrouvera aussi lors de la phase de

conception, où nous réserverons l¶algorithmique classiqueà l¶implémentation des méthodes, alors que pour concevoir les classes nous utiliserons un langagegraphique plus adapté : l¶UML.

. De la pr ogr ammation pr océdur ale à la pr ogr ammation OO

 

Page 21: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 21/64

3. Tr ois principes fondamentaux

Encapsulation : le principe est d¶interdire l¶accès directaux attributs. On ne dialoguera avec l¶objet qu¶à traversune interface définissant les services accessibles auxl¶utilisateurs de l¶objet. Ce sera le rôle des méthodes.

. De la pr ogr ammation pr océdur ale à la pr ogr ammation OO

METHODES ATTRIBUTS

      I      N      T      E      R

      F      A      C      E

 

Page 22: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 22/64

3. Tr ois principes fondamentaux

Deux intér êts majeurs :

1. Facilitation de l¶évolution d¶une application : on peut

modifier les attributs d¶un objet sans modifier la façondont il est utilisé.

2. Garantie de l¶intégrité des données, car leur accès direct

est interdit (ou en tout cas limité et contrôlé).

. De la pr ogr ammation pr océdur ale à la pr ogr ammation OO

 

Page 23: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 23/64

3. Tr ois principes fondamentaux

Héritage : relation de spécialisation/généralisation entredeux classes. Elle indique qu¶une classe est une sousclasse d¶une autre, i.e. qu¶elle possède ses attributs etses méthodes plus d¶autres qui lui sont propres.

. De la pr ogr ammation pr océdur ale à la pr ogr ammation OO

Personne

Nom : CHAÎNEPrénom : CHAÎNE

 AnnéeNaissance : ENTIER Age() : ENTIERRenvoyerNom : CHAÎNE

Etudiant Supinfo

IdBooster : ENTIERNote2ADS : RÉEL

JouerEnRéseau()CréerSiteWeb()

 

Page 24: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 24/64

3. Tr ois principes fondamentaux

Intér êt :

On construit une hiérarchie de classe. On évite ainsi des

répétitions dans le code, en encourageant la réutilisationde classes déjà existantes.

Cela permet bien sûr également de simplifier la conceptionde la modélisation.

. De la pr ogr ammation pr océdur ale à la pr ogr ammation OO

 

Page 25: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 25/64

3. Tr ois principes fondamentaux

Polymor phisme : littéralement c¶est la faculté deprendre plusieurs formes. En POO, c¶est un mécanismequi permet à une sous classe de redéfinir une méthodedont elle a hérité tout en gardant la même signature.

Selon le contexte, le programme optera pour la « bonne »méthode.

. De la pr ogr ammation pr océdur ale à la pr ogr ammation OO

 

Page 26: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 26/64

3. Tr ois principes fondamentaux

L¶appel de la méthode « jouer » sur tous les objets héritantde la classe « musicien » produira un résultat différentselon la sous classe.

. De la pr ogr ammation pr océdur ale à la pr ogr ammation OO

Musi

ci

en

Jouer()

Bassiste

Jouer()

Pianiste

Jouer()

Guitariste

Jouer()

 

Page 27: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 27/64

3. Tr ois principes fondamentaux

Intér êt :

Le code gagne en généricité. On peut appeler des méthodes

portant les mêmes noms mais produisant des effetsdifférents selon le type réel de l¶objet.

. De la pr ogr ammation pr océdur ale à la pr ogr ammation OO

 

Page 28: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 28/64

Pause r éflexion sur  la partie. De la pr ogr ammation pr océdur ale à la pr ogr ammation OO

 

Page 29: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 29/64

. Quelques pr opriétés importantes de la

modélisation objet.

Intr oduction à la modélisation objet

 

Page 30: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 30/64

Plan de la partie

1. Objets et classes d¶objets.

2. Relations entre classes.

3. Héritage.

4. Polymorphisme.

Voici les chapitres que nous allons aborder :

. Quelques pr opriétés importantes de la modélisation objet

 

Page 31: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 31/64

1. Objets et classes d¶objets

Objet : entité identifiable du monde réel pouvant avoir oupas une existence physique. Exemples : chat, table,courant de pensée

Un objet possède tr ois composantes :

1. Une identité.

2. Des variables définissant sont état (attributs).

3. Des sous programmes gérant son comportement(méthodes).

. Quelques pr opriétés importantes de la modélisation objet

 

Page 32: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 32/64

1. Objets et classes d¶objets

. Quelques pr opriétés importantes de la modélisation objet

 

Page 33: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 33/64

1. Objets et classes d¶objets

Classe : abstraction regroupant des objets ayant les mêmesattributs et les mêmes méthodes.

Un objet est alors une instance de la classe

correspondante, et se distingue des autres instances par son identité et la valeur de ses attributs.

. Quelques pr opriétés importantes de la modélisation objet

 

Page 34: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 34/64

1. Objets et classes d¶objets

Exemple :

. Quelques pr opriétés importantes de la modélisation objet

Instanciation

Personne

Nom : CHAÎNEPrénom : CHAÎNE AnnéeNaissance : ENTIER

 Age() : ENTIERRenvoyerNom : CHAÎNE

Keith : Personne

Nom = ³Richards³

Prénom = ³Keith³ AnnéeNaissance = 1944

Mick : Personne

Nom = ³Jagger³Prénom = ³Mick³ AnnéeNaissance = 1943

 

Page 35: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 35/64

1. Objets et classes d¶objets

Visibilité des attributs et méthodes :

Un attribut ou une méthode sont dits privés si leur utilisation

est interdite en dehors de la classe.

Un attribut ou une méthode sont dits publics si leur utilisation est autorisée en dehors de la classe.

Ce choix s¶effectue lors de la déclaration de la classe.

. Quelques pr opriétés importantes de la modélisation objet

 

Page 36: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 36/64

1. Objets et classes d¶objets

Par défaut la visibilité des différents membres vérifie leprincipe d¶encapsulation :

     Les attributs sont privés.

     Les méthodes sont publiques.

Rappelons que l¶encapsulation est le principe interdisantl¶accès direct aux attributs d¶une classe.

. Quelques pr opriétés importantes de la modélisation objet

 

Page 37: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 37/64

1. Objets et classes d¶objets

Cependant, dans certains cas particuliers, on contreviendraà ce principe en imposant une visibilité différente de cellepar défaut.

Par exemple, on pourra « découper » certaines méthodespubliques complexes en plusieurs sous méthodes, quiseront déclarées privées car étant internes à l¶objet.

. Quelques pr opriétés importantes de la modélisation objet

 

Page 38: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 38/64

1. Objets et classes d¶objets

Accès aux attributs

     Une question naturelle se pose alors : comment accéder 

aux attributs si ceux-ci sont déclarés de façon privée ?

     La réponse est : par l¶intermédiaire de méthodes bienparticulières, les « getter » et les « setter ».

. Quelques pr opriétés importantes de la modélisation objet

 

Page 39: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 39/64

1. Objets et classes d¶objets

Getter 

     Il s¶agit de méthodes publiques dont le rôle est de

« retourner » la valeur d¶un attribut.

Setter 

     Il s¶agit de méthodes publiques dont le rôle est de« fixer » la valeur d¶un attribut. Cela est fait la plupart dutemps avec un contrôle de la nouvelle valeur.

. Quelques pr opriétés importantes de la modélisation objet

  

Page 40: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 40/64

1. Objets et classes d¶objets

Exemple de déclar ation de la visibilité :

Classe Personne

Début

 Attributs publi c s :

Nom : CHAÎNE

Prénom : CHAÎNE

 Attribut privé :

 AnnéeNaissance : ENTIER

Méthodes publiques :

 Age() : ENTIER // méthode cal c ul ant l¶âge et le retour nant 

RenvoyerNom() : CHAÎNE // méthode retour nant le nom

Fin

. Quelques pr opriétés importantes de la modélisation objet

Personne

+ Nom : CHAÎNE+ Prénom : CHAÎNE- AnnéeNaissance : ENTIER

+Age() : ENTIER+ RenvoyerNom() : CHAÎNE

 

Page 41: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 41/64

1. Objets et classes d¶objets

Comment utiliser tout cela ?

     Vous commencez bien sûr par déclarer votre classe, par 

exemple la classe personne précédente.     Ensuite vous pouvez instancier un objet en le déclarant

comme une variable et en initialisant ses attributs :

Keith : Personne(³Richards³,³Keith³,1944)

. Quelques pr opriétés importantes de la modélisation objet

 

Page 42: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 42/64

1. Objets et classes d¶objets

Vous avez ensuite accès à ses méthodes et attributs

publics :

     ECRIRE(Keith.Nom) affichera Richards à l¶écran.     ECRIRE(Keith.AnnéeNaissance) est interdit car 

 AnnéeNaissance est un attribut privé.

     ECRIRE(Keith.Age()) est par contre autorisé, et affichera

66.

. Quelques pr opriétés importantes de la modélisation objet

 

Page 43: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 43/64

1. Objets et classes d¶objets

Attributs et méthodes indépendants des objets :

Attributs de classes : ce sont des attributs particuliers qui

ont la même valeur pour toutes les instances de la classe.L¶exemple fondamental est un attribut qui compte lenombre d¶objets instanciés de la classe.

Méthodes de classes : ce sont des méthodes qui nedépendent pas des attributs propres de chaque objetmais qui portent sur les attributs de classes.

. Quelques pr opriétés importantes de la modélisation objet

 

Q l ié é i d l déli i bj

 

Page 44: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 44/64

1. Objets et classes d¶objets

La déclaration d¶attribut ou de méthode de classe s¶effectueen rajoutant le suffixe statique :

Classe Rectangle

Début

 Attributs privés :

Largeur : RÉEL

Longueur : RÉEL

NbRect : ENTIER statique

Méthodes publiques :

 Aire() : RÉEL

RenvoyerNbRect() : ENTIER statique

Fin

. Quelques pr opriétés importantes de la modélisation objet

Rectangle

- Largeur : RÉEL

- Longueur : RÉEL

- NbRect : ENTIER

+Aire() : RÉEL

+ RenvoyerNbRect() : ENTIER

 

Q l iété i t t d l déli ti bj t

Page 45: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 45/64

2. Relations entr e classe

Les classes sont donc les éléments de base d¶unemodélisation orientée objet.

  Après les avoir définies, il convient de voir comment lesrelier entre elles, et quels types d¶interactions ellespeuvent avoir.

. Quelques pr opriétés importantes de la modélisation objet

 

Q l iété i t t d l déli ti bj t

Page 46: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 46/64

2. Relations entr e classe

Relation d¶association : elle indique qu¶un lien conceptuelexiste entre deux classes. Ces classes se connaîssentdonc et leurs instances peuvent communiquer ens¶envoyant des messages (messages qui ne sont en fait

la plupart du temps que des invocations de méthodes).

. Quelques pr opriétés importantes de la modélisation objet

Matièr e Étudiant

 

Q l iété i t t d l déli ti bj t

Page 47: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 47/64

2. Relations entr e classe

Relation d¶agr égation : elle modélise une relationd¶inclusion entre les instances de deux classes. Lesobjets de la classe « conteneur » possèdent donc desattributs qui sont des objets de la classe « contenue ».

. Quelques pr opriétés importantes de la modélisation objet

RoueVoitur e

 

Q l iété i t t d l déli ti bj t

Page 48: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 48/64

2. Relations entr e classe

Relation de composition : c¶est une relation d¶agrégationparticulière, où les instances de la classe contenue nepeuvent exister sans celles de la classe conteneur; ellessont crées et détruites par celle ci.

. Quelques pr opriétés importantes de la modélisation objet

Plaqueimmatriculation

Voitur e

 

Quelques propriétés importantes de la modélisation objet

Page 49: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 49/64

3. Héritage

La plus importante des relations entre classes est celled¶héritage :

Héritage:

relation de spécialisation/généralisation entredeux classes. Elle indique qu¶une classe dite classe f illespécialise une autre classe dite classe mèr e, i.e. qu¶ellepossède les attributs et les méthodes de la classe mèreplus d¶autres qui lui sont propres.

On parle aussi de super classe et de sous classe.

. Quelques pr opriétés importantes de la modélisation objet

 

Quelques propriétés importantes de la modélisation objet

Page 50: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 50/64

3. Héritage

Exemple de déclar ation d¶une r elation d¶héritage :

Classe Mère

Début

 Attributs :

Méthodes :

Fin

Classe Fille hérite de Classe Mère

Début

  Attributs : // nouveaux attributs

Méthodes : // nouvelles méthodes

Fin

. Quelques pr opriétés importantes de la modélisation objet

Mèr e

Fille

 

Quelques propriétés importantes de la modélisation objet

Page 51: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 51/64

3. Héritage

Deux visions pour un même concept :

Une vision « ascendante », en procédant par 

généralisation:

on décèle des attributs et des méthodescommuns à des classes différentes, l¶héritage permetalors de les factoriser afin de faciliter la conception et lamaintenance du code.

. Quelques pr opriétés importantes de la modélisation objet

 

Quelques propriétés importantes de la modélisation objet

Page 52: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 52/64

3. Héritage. Quelques pr opriétés importantes de la modélisation objet

Etudiant en Info

 Age

Marque ordinateur Joue en réseauSort en boîte le jeudi

Etudiant en Commer ce

 Age

Marque costumeMonte une sociétéFume le cigareSort en boîte le jeudi

Etudiant

 Age

Sort en boîte le jeudi

 

Quelques propriétés importantes de la modélisation objet

Page 53: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 53/64

3. Héritage

Une vision « descendante », en procédant par spécialisation : on crée des classes spécialisées à partir d¶une classe de base. Le niveau de spécialisationdépend du niveau d¶abstraction que l¶on souhaite. On

procède souvent ainsi quand on veut réutiliser desclasses déjà existantes.

. Quelques pr opriétés importantes de la modélisation objet

 

Quelques propriétés importantes de la modélisation objet

Page 54: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 54/64

3. Héritage. Quelques pr opriétés importantes de la modélisation objet

Animal

Mammifèr e

Félin

Chat

 

Quelques propriétés importantes de la modélisation objet

Page 55: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 55/64

3. Héritage

Héritage multiple : possibilité pour une classe de posséder plusieurs classes mères.

. Quelques pr opriétés importantes de la modélisation objet

LosangeRectangle

carr 

é

 

Quelques propriétés importantes de la modélisation objet

Page 56: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 56/64

3. Héritage

Des difficultés peuvent apparaître quand les classes mèrespossèdent des méthodes de mêmes noms qui ne sontpas redéfinies au sein de la classe fille.

. Quelques pr opriétés importantes de la modélisation objet

Losange

Dessiner()

Rectangle

Dessiner()

carr é

 

Quelques propriétés importantes de la modélisation objet

Page 57: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 57/64

3. Héritage

Classe abstr aite : classe qui ne peut être instanciée, car elle contient des méthodes abstraites, c¶est à dire desméthodes non implémentées.

Une classe abstraite sert essentiellement à factoriser desméthodes et attributs communs à plusieurs classes, et cedans une relation d¶héritage.

Cela permet de clarifier la conception du code.

. Quelques pr opriétés importantes de la modélisation objet

 

. Quelques propriétés importantes de la modélisation objet

Page 58: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 58/64

3. Héritage

La classe « Figure plane » est une classe abstraite, ellen¶est pas destinée à être instanciée. Ses quatre sousclasses sont elles concrètes et produiront des objets.

. Quelques pr opriétés importantes de la modélisation objet

Rectangle

Dessiner()

Losange

Dessiner()

Triangle

Dessiner()

Cer cle

Dessiner()

Figure plane

Dessi ner()

 

. Quelques propriétés importantes de la modélisation objet

Page 59: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 59/64

4. Polymor phisme

Les classes abstraites ont un intérêt grace au concept depolymor phisme.

C¶est le mécanisme qui permet à une sous classe deredéfinir une méthode dont elle a hérité tout en gardant lamême signature.

. Quelques pr opriétés importantes de la modélisation objet

 

. Quelques propriétés importantes de la modélisation objet

Page 60: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 60/64

4. Polymor phisme

Reprenons l¶exemple précédent et imaginons que l¶onpossède un tableau constitué d¶une centaine d¶objetsdérivant de la classe « Figure plane ». On souhaite lesdessiner un par un. La puissance du polymor phismepermettra d¶utiliser une routine de la forme :

POUR i ALLANT de 1 à 100 AU PAS DE +1

FAIRE

tab[i].Dessiner()

FINPOUR

. Quelques pr opriétés importantes de la modélisation objet

 

. Quelques propriétés importantes de la modélisation objet

Page 61: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 61/64

4. Polymor phisme

  A chaque itération, le programme choisira la méthodeDessiner() correspondant au type d¶objet en question,que ce soit un rectangle, un triangle, un losange ou uncercle.

Et ce sans lui spécifier directement la nature de l¶objet.

 Quelques p op étés  mpo ta tes de la modél sat o objet

 

. Quelques pr opriétés importantes de la modélisation objet

Page 62: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 62/64

Pause r éflexion sur  la partieQ q p p p j

 

Page 63: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 63/64

Félicitations

Vous avez suivi avec succès lemodule CORE KNOWLEDGE Nr1

Introduction à la modélisation objet

 

Intr oduction à la modélisation objet

Page 64: 01 - Introduction à la modélisation objet

5/12/2018 01 - Introduction à la modélisation objet - slidepdf.com

http://slidepdf.com/reader/full/01-introduction-a-la-modelisation-objet 64/64

Fin

j