Programmation orientée objet III (INFO606_INFO)
Volume horaire
Objectifs
Ce cours vise la maîtrise par les étudiants des concepts fondamentaux de la programmation objet indépendamment de tout langage particulier. Les notions fondamentales d’objet, de classe, de méthode-envoi de message, et de hiérarchie de classes sont étudiées dans le détail. Ces notions sont mises en regard avec d’autres paradigmes de programmation dont principalement ceux issus de la programmation impérative. Cette étude permettra de préciser les notions d’espace de visibilité, d’encapsulation, de polymorphisme, de surcharge, de hiérarchie multiple, de liaison dynamique et de liaison statique.
Plan du cours
Le cours sera illustré principalement à partir d’exemples écrits dans les langages Java et CLOS (Common Lisp Object System).
TD et TP : En plus d’exercices réalisés en Java et CLOS, chaque groupe d’étudiants étudie un langage objet particulier (Python, C++, Objective C, Ruby, Smalltalk, etc.) au regard des principes et des langages de référence vus en cours.