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