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.4 Attributs et opérations de classe
  • Le nombre total de participations est une caractéristique des personnes (classe), donc applicable à Julien Dupont (objet)
  • L’opération getNbTotalParticipations() utilise la valeur de l’attribut nbTotalParticipations connue par la classe
    • Cette opération peut être appliquée directement à la classe Personne et bien sûr aussi aux objets / instances de Personne

Figures/attributs_operations_classe

    précédent     suivant 


Par défaut, les attributs et les opérations sont dits des attributs et des opérations d’instances. Pour un attribut, cela signifie que chaque objet possède sa propre valeur, c’est-à-dire son propre espace mémoire pour mémoriser sa valeur. Un attribut de classe est un attribut partagé par toutes les instances de la classe, c’est-à-dire l’espace mémoire d’un attribut de classe est un espace partagé par toutes les instances / objets de la classe n’ayant pas leur propre espace mémoire de cet attribut de classe. Dans les diagrammes, les attributs et les opérations de classe se différencient des attributs et des opérations d’instance par le fait qu’ils sont soulignés. En outre, par déduction, les attributs de classe existent indépendamment de la présence d’instances de la classe. En conséquence, les opérations de classe peuvent aussi être appelées indépendamment de l’existence d’instances de la classe. Ainsi, on peut écrire les expressions suivantes, le point indiquant l’accès à un attribut ou à une opération (similairement aux caractères « -> » du langage C) :

  • j.nom
  • j.nbTotalParticipations
  • Personne.nbTotalParticipations // cette forme est préférée car elle rend explicite
  •                                // l’aspect attribut de classe
  • j.voter()
  • j.getNbTotalParticipations()
  • Personne.getNbTotalParticipations() // cette forme est préférée car elle rend explicite
  •                                     // l’aspect opération de classe

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