Author: Christian.Queinnec@lip6.fr

## Résumé

Ce chapitre a décrit l'extension objet du langage Objective CAML. La structuration en classes est une alternative aux modules qui permet d'une part la modélisation objet d'une application et d'autre part la réutilisation et la modifiabilité des programmes grâce à l'héritage et la liaison retardée. Cette extension s'intègre au système de types d'Objective CAML et lui ajoute la notion de sous-type, permettant ainsi d'utiliser une instance d'un sous-type en tout endroit où une valeur du type est attendue. En combinant le sous-typage et la liaison retardée, on obtient un polymorphisme d'inclusion permettant, par exemple, de construire des listes homogènes du point de vue des types, mais hétérogènes du point de vue des comportements.