next up previous contents
Next: Encapsulation Up: Introduction Previous: Généralisation de la notion

Approche orientée objets et types abstraits de données

Dans une grande mesure, on peut considérer que l'objectif de la programmation orientée objets est la réalisation de types abstraits de données. Contrairement à l'approche procédurale, où on essaie de décomposer le problème en sous problèmes, ce qui guide l'approche orientée objets ce sont les données. D'ailleurs dès que les applications sont importantes il est difficile d'envisager le problème à traiter comme pouvant se décomposer hiérarchiquement en sous problèmes, par contre, l'application pourra être vue comme l'interaction entre divers ``objets'', et l'analyse consistera surtout à déterminer ces objets et comment ils peuvent interagir entre eux. Pour la programmation, il s'agira de trouver une représentation (les données) de ces objets et leur interface (les fonctions associées). Dans le cas où ces objets sont en exemplaire unique, un module sera suffisant. Mais en général, ces objets seront regroupés en classes.

Comme résultat de l'analyse, on obtiendra une spécification des classes. Cette spécification peut être considérée comme un type abstrait de données. L'interface de la classe est ce qui permet aux autres objets d'interagir avec les objets de cette classe. On pourra ensuite se préoccuper de la réalisation, c'est-à-dire, d'une part, choisir une représentation de l'objet et, d'autre part, une ``réalisation'' de cette interface. Comme on le verra plus loin, l'héritage et la liaison dynamique permettront d'avoir éventuellement plusieurs réalisations possibles pour une même classe.




Mon Oct 20 14:02:48 MET 1997