Accueil
 Sommaire
 1  Objectifs de ce cours de modélisation orientée objet
 2  Généralités sur la modélisation orienté objet et sur UML
 3  Analyse, vues cas d'utilisation et processus
 4  Analyse et conception, aspects statiques de la vue logique
 4.1  Diagrammes communs à l'analyse et à la conception
 4.2  Diagramme de classes
 4.2.1  Modéliser la structure logique du système dans un diagramme de classes
 4.2.2  Classe
 4.2.3  Instanciation: création d'un objet d'une classe
 4.2.4  Attributs et opérations de classe
 4.2.5  Attribut dérivé
 4.2.6  Association entre classes
 4.2.7  Nom de rôle et multiplicité
 4.2.8  Généralisation spécialisation ou héritage
 4.2.9  Généralisation spécialisation: vision ensembliste
 4.2.10  Généralisation spécialisation: vision encapsulation
 4.2.11  Généralisation et redéfinition d'opérations
 4.2.12  Méthode Polymorphique et liaison dynamique
 4.2.13  Agrégation
 4.2.14  Exemple de diagramme de classes
 4.2.15  Éléments de méthodologie
 4.3  Diagramme d'objets
 QCM
 4.4  Concepts avancés du diagramme de classes
 5  Analyse et conception, aspects dynamiques de la vue logique
 6  Conception, aspects langage et technique
 7  Conception, vues développement et physique
 8  Conclusion
 9  Bibliographie

 Contacts

W3C validator

Département INF  
 Conception et programmation orientées objet


4.2.2 Classe
  • Classe = famille d’objets ayant les mêmes caractéristiques et le même comportement
    • Attributs = caractéristiques (données membres, informations, propriétés)
    • Opérations = comportement (méthodes, fonctions, procédures, messages, services)

Figures/classe

    précédent     suivant 


Les classes décrivent les différents types d’objets9 que le système possède. Une classe est un type de quelque chose. Vous pouvez penser à une classe comme à un modèle (au sens patron) à partir duquel les instances ou objets10 conformes au type défini par la classe sont créés.

La description de la classe inclut deux catégories d’informations : l’état définissant les informations que les objets de la classe contiennent et le comportement que les objets de la classe autorisent (au sens « services » qu’ils rendent). La conjonction de l’état et du comportement caractérise l’orientation objet par rapport aux autres approches en génie logiciel, par exemple qui séparent les données des traitements. Ainsi, en orienté objet, le comportement d’un objet d’une classe définit les transformations sur l’état de l’objet de la classe. Une classe peut être vue comme une structure de données appariée avec des procédures utilisant la structure. L’état d’un objet d’une classe est défini par un ensemble d’attributs et le comportement de l’objet par un ensemble d’opérations11 sur ses attributs. Un attribut est une information portée par un objet. Par convention, le nom d’un attribut commence par une lettre minuscule. Une opération spécifie une transformation de l’état de l’objet. Elle possède un nom (par convention, commençant par une lettre minuscule), une éventuelle liste de paramètres et un éventuel type de retour. Par conséquent, une classe rassemble la spécification d’objets possédant les mêmes attributs et les mêmes opérations.

Grâce aux mécanismes d’encapsulation, lors de l’analyse, les premiers attributs et les premières opérations sont spécifiés. D’autres attributs et d’autres opérations peuvent être ajoutés par la suite lors de la conception (pour prendre en compte une préoccupation technique comme la persistance), voire lors de l’implantation (pour par exemple optimiser un comportement).

La notation UML autorise à représenter une classe uniquement avec son nom, ou avec son nom et ses attributs, ou avec son nom et ses opérations, ou encore avec les trois caractéristiques. Lorsque des attributs ou des opérations ne sont pas présents, cela signifie que celui qui a construit le diagramme visualisé estime que les caractéristiques non représentées ne sont pas assez pertinentes dans la vue qu’il a choisi. (Il est bien sûr possible de discuter et contester les choix de l’auteur du diagramme.)

Cf. le glossaire pour la définition des termes « classe », « attribut », et « opération ».

D. Conan, C. Taconet, C. Bac, Télécom SudParis, CSC 4002, Octobre 2015

9.Le terme « objet » est ici pris dans son acception générale.

10.Cette fois-ci, au sens orienté objet du terme.

11.Aussi appelées des méthodes dans les langages orientés objet.