Êtes-vous un étudiant de l'EPFL à la recherche d'un projet de semestre?
Travaillez avec nous sur des projets en science des données et en visualisation, et déployez votre projet sous forme d'application sur Graph Search.
En programmation informatique, la composition est une technique qui permet de combiner plusieurs éléments de programmation entre eux pour obtenir un élément ayant une fonctionnalité plus complexe. On distingue la composition de fonctions, la composition d'objets, et la composition dans les modèles. La composition de fonctions consiste à définir une nouvelle fonction en combinant plusieurs fonctions entre elles. Ce procédé s'inspire directement de la composition de fonctions en mathématiques, où le résultat d'une fonction est utilisé comme paramètre d'une autre. Deux fonctions et telles que et peuvent par exemple être combinées en une fonction telle que . En programmation procédurale, cette composition peut s'exprimer en une suite d'instructions: double h(double x) { double y = g(x); double z = f(y); return z; } Elle peut aussi combiner les expressions en une forme plus compacte, ce qui en facilite la maintenance: double h(double x) { return f(g(x)); } Certains langages de programmation fonctionnelle comme F# offrent des opérateurs pour composer des fonctions de cette manière: let h = g >> f Dans le domaine de la programmation, la composition de fonction désigne par extension toute forme de combinaison de fonctions ou de procédures. La programmation orientée objet se base sur le concept d'objets et le principe de l'encapsulation pour structurer les données et les opérations associées. La composition d'objet consiste alors à définir des objets ou des types composés en combinant des objets ou des types plus simples tout en respectant leur interface et en ignorant tout de leur fonctionnement interne. La composition se distingue du mécanisme de l'héritage dans les langages à base de classes : l'héritage consiste à spécialiser des classes en leur ajoutant des éléments supplémentaires et en redéfinissant certains comportements. La classe d'un objet est déterminée au moment de sa création (on dit que l'objet est une instance de la classe) et l'objet ne peut pas changer de classe après sa création.