Modélisa)on objet
(2010-‐2011)
Chapitre 4. Objet et Classe
Plan
• Objet
– Défini)on d’un objet – Cycle de vie d’un objet – Message
• Classe
– Défini)on d’une classe – Classe d’analyse
– Classe de concep)on
Objet
• Défini)on d’un objet
– Une unité formée de propriétés et d’un
comportement pour représenter un objet dans un domaine d’applica)on
– Objet = nom + propriétés + comportement
Objet
• Deux aspects d’un objet
– Aspect structurel
• Propriétés
– Aspect fonc)onnel
• Comportement
• Cycle de vie d’un objet : un objet est créé, il vit
(envoie/reçoit des messages) et il est détruit
Message
• Défini)on d’un message
– Une informa)on transmise
– Un appel d’une opéra)on d’un objet
• Éléments de l’envoi de messages
– L’objet émeSeur – L’objet récepteur
– Les liens entre objets – Le message
– L’objec)f à aSeindre
Classe
• Défini)on d’une classe
– Un ensemble d’objets ayant les mêmes caractéris)ques
– Classe = aSributs + opéra)ons
• Rela)on entre l’objet et la classe
– Un objet = une instance d’une classe – Une classe = un type d’objets
Classe d’analyse
(domaine d’applica)on)
• Classe = aSributs + opéra)ons
– Les aSributs décrivent les propriétés de l’ensemble d’objets
– Les opéra)ons décrivent le comportement de l’ensemble d’objets
Classe de concep)on (domaine informa)que)
• Classe = aSributs + méthodes
– ASributs: la structure de données pour
représenter les aSributs de la classe d’analyse – Méthodes : la réalisa)on des opéra)ons de la
classe d’analyse
Classe de concep)on (domaine informa)que)
• Catégories d’méthodes
– Constructeurs – Destructeurs – Sélecteurs
– Modificateurs – Affichage
– Autres opéra)ons
Classe de concep)on (domaine informa)que)
• Niveaux de visibilité
– Pour dis)nguer la spécifica)on et la réalisa)on
• Trois niveaux de visibilité
– Publique: visible dans la classe et hors de la classe – Privé: visible seulement dans la classe
– Protégé: visible dans la classe et dans ses sous-‐classes
• Encapsula)on
– Masquer la réalisa)on d’une classe par le niveau de visibilité publique ou protégé
Classe de concep)on (domaine informa)que)
• Classe = la spécifica)on + la réalisa)on
– La spécifica)on correspond à la par)e vue de l’extérieur d’un objet
– La réalisa)on correspond à la par)e vue de l’intérieur d’un objet
Surcharge des méthodes
• Surcharge des méthodes
– Plusieurs méthodes qui ont le même nom avec différents paramètres
• Exemples
– Deux constructeurs dans la classe Segment
• Segment(x1, y1, x2, y2)
• Segment(p1, p2)
ASributs et méthodes sta)ques
• ASributs sta)ques (de classe)
– ASributs dont les valeurs sont partagées par tous les objets de la classe
• Méthodes sta)ques (de classe)
– Méthodes qui ne manipulent que des aSributs sta)ques
• Une méthode sta)que peut être appelée même sans avoir instancié la classe.
ASributs et méthodes sta)ques
• Exemples en Java
– La méthode sta)que main()
– La classe Math où un ensemble des méthodes sta)ques existent, par exemple, Math.sqrt() – La classe Document où il y a un compteur qui
permet de compter le nombre de documents crées
Exemple: La ges)on d’une bibliothèque (1)
• Nous souhaitons informa)ser les prêts des documents d’une bibliothèque. Pour l’instant, nous ne gérons que des livres
• Un livre est caractérisé par les aSributs suivants:
– L’auteur – Le )tre
– Le nombre de pages – L’emprunteur
• Les opéra)ons appliquées sur un livre sont:
– Créer un livre
– Consulter le )tre d’un livre – Emprunter un livre
– Retourner un livre – Afficher un livre
• Travail à faire
– Modéliser la classe Livre
– Coder la classe Livre et la tester