Un exemple de classe :
 
 
 
 

Supposons que nous ayons besoin de manipuler des points dans un espace 2D. Nous allons créer une classe
correspondant à cette notion. Une procédure du programme ayant besoin d'un point créera un objet de la classe point.
La relation entre la procédure appelante et la classe point est du type client-fournisseur.
 
 
 

La classe point va fournir un certain nombre de services (on parle de méthodes).
 

Parmi ces méthodes, on peut envisager :

- une façon agréable d'initialiser un point : on parle de constructeur de la classe. Il porte généralement le nom de la classe.

- divers autres services, parmi lesquels translater, donner la valeur actuelle de x ou y, fixer la valeur de x ou y à une certaine valeur ...
 
 
 
 
 

Naturellement, il va falloir implémenter la classe point d'une certaine manière. On peut envisager plusieurs implémentations :

- deux réels représentant x et y
- un tableau de longueur 2 contenant x en premier élément et y en deuxième élément
- deux réels décrivant la position du point en polaires ...
 
 

Principe général: on ne doit pas pouvoir accéder de l'extérieur à la manière spécifique dont la classe est implémentée.

On parle d'encapsulation.  Un avantage évident d'une telle approche est que le concepteur de la classe peut changer l'implémentation sans que les utilisateurs de cette classe aient à changer quoi que ce soit, à partir du moment où
les services fournis par la classe restent les mêmes.
 
 

 Voir ici une implémentation d'une classe en C++
 

 
 
 
 
 
Drupal 7 Appliance - Powered by TurnKey Linux