Author: Christian.Queinnec@lip6.fr

## Plan du chapitre

Ce chapitre présente l'extension objet du langage Objective CAML. Cette extension ne modifie en rien les éléments du langage déjà étudiés dans les chapitres précédents. Seuls quelques nouveaux mots clés sont réservés pour la syntaxe de la partie objet.
La première section décrit la syntaxe de la déclaration de classe, de l'instanciation d'objet et de l'envoi de message. La deuxième section explique les différentes relations entre classes. La troisième section précise la notion de type objet et montre la richesse de l'extension grâce aux classes abstraites, à l'héritage multiple et à la généricité des classes paramétrées. La quatrième section détaille la relation de sous-typage et montre son intérêt à travers le polymorphisme d'inclusion. La cinquième section s'intéresse au style fonctionnel en objet où l'on ne modifie plus l'état interne d'un objet mais où on retourne une copie modifiée de l'objet receveur. La sixième section précise les autres éléments de l'extension objet que sont les interfaces et déclarations locales dans les classes qui permettent de créer des variables de classe.