Next: L'héritage
Up: Les concepts objets
Previous: Les objets et les
Sous-sections
Définition 3.2
Une classe factorise les caractéristiques communes des objets :
Classe = instanciation + attributs + opérations
La classe fournit un mécanisme d'instanciation (l'opération new), un
objet est ainsi une instance d'une classe.
Les attributs d'une classe sont aussi appelés les variables d'instances.
Différents niveaux de visibilité pour les opérations : public et
privé.
L'interface de la classe est constitué des opérations publiques. C'est
le principe de l'encapsulation des attributs.
Remarque : les langages objets diffèrent quelque peu sur cet
aspect.
La spécification d'une opération est sa signature : type des arguments
d'entrée, type de l'objet receveur et type de l'argument de sortie.
Les objets sont accédés soit par un appel de procédure (langage
compilé), soit par envoi de messages (langage interprété).
Exercice 3.2
Donnez des exemples de classes.
La relation de généralisation qui traduit la relation naturelle est-un est à la base de la hiérarchie des classes et de la relation
d'héritage.
Définition 3.3
Généralisation : fonction qui, à une classe origine, dite sous-classe,
fait correspondre une classe plus générale, dite super-classe.
La fonction inverse est appelée fonction de spécialisation.
Exercice 3.3
Ajouter une classe personne, dont client et opérateur deviennent des
sous-classes.
Définition 3.4
Instanciation : relation entre un objet et sa classe d'appartenance
qui a permis de la créer.
Définition 3.5
Métaclasse : classe générateur de classes (ses instances), regroupant
en particulier les opérations applicables aux classes et les
structures de données communes à toutes les classes.
Remarque : la métaclasse est sa propre instance, et la classe object
est la racine de la hiérarchie
Exercice 3.4
Dessinez le graphe des classes avec metaclasse et object
L'association est un concept issu du modèle entité-association, défini
par Chen en 76 pour la modélisation sémantique des données.
Définition 3.6
Association : relation entre plusieurs classes, caractérisée par un
verbe, décrivant conceptuellement les liens entre les objets de ces classes.
Une caractéristique importante d'une association est sa cardinalité :
1-1, 1-N ou N-M.
Parmi les associations, deux types particulier :
- Binaire :
- le verbe peut être utilisé dans les deux sens, le
lien est donc bi-directionnel.
- Partie-de :
- utile pour
modéliser les objets complexes qui sont composés d'autres objets.
Définition 3.7
Agrégation : relation entre deux classes spécifiant que des objets
d'une classe sont les composants de l'autre classe.
Remarque : L'agrégation est transitive
Exercice 3.5
Dessinez un graphe d'association et d'agrégation.
Lorsqu'un attribut est multivalué, sa valeur est une collection. Le
langage peut fournir un constructeur de type pour les collections (une
liste), mais il est préférable de fournir une classe.
Définition 3.8
Classe collection : classe générique (une classe paramétrée)
permettant d'imposer une structure à une collection d'objets et de les
manipuler par des opérations associées.
Next: L'héritage
Up: Les concepts objets
Previous: Les objets et les
Alain GRIFFAULT
2000-01-05