Ce document s'adresse avant tout aux personnes désireuses d'apprendre les fondamentaux de la programmation orientée objet, principalement les notions d'objet et de classe, et les relations qui peuvent exister entre ces éléments. Mais ce document introduit également des notions plus avancées telles que les classes abstraites et les interfaces, ainsi que les classes génériques. Cette présentation se veut indépendante de tout langage de programmation, même s'il est fait souvent référence aux trois langages objets généralistes actuels que sont C++, Java et C#.
Voici un bref résumé de chacun des chapitres de ce document. Ils sont présentés sous la forme d'un diaporama qui, je l'espère, sera assez explicite.
-
Présentation des évolutions successives des langages qui ont conduit à la programmation orientée objet, dans le but d'améliorer la qualité des logiciels.
-
Introduit les notions d'objet et de classe, ainsi que les différents principes et mécanismes qu'elles engendrent: principe d'encapsulation, envoi de messages, cycle de vie des objets...
-
Présente les relations fondamentales qu'il peut exister entre classes: l'héritage, l'agrégation, la composition et l'association. Le mécanisme de polymorphisme et la notion de méthode virtuelle, associés à l'héritage, sont également introduits.
-
La problématique de l'héritage multiple est abordée et des alternatives sont proposées. Le principe de délégation et les notions de classe abstraite et d'interface sont présentées.
-
Introduction du principe de généricité, qui n'est pas véritablement une notion objet, mais que l'on retrouve dans beaucoup de langages objets actuellement, et qui s'avère être un complément indispensable.
|