next up previous
Next: L'héritage Up: Les concepts objets Previous: Les objets et les

Sous-sections

Les classes et les relations interclasses

Les classes

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.























Le graphe de généralisation

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.












Le graphe d'instanciation

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












Le graphe d'association et d'agrégation

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.












Les collections

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 up previous
Next: L'héritage Up: Les concepts objets Previous: Les objets et les
Alain GRIFFAULT
2000-01-05