Type de programmation où des structures de données ("objets") envoient des messages à
d'autres. Le comportement d'un programme émerge alors de ces échanges de messages entre objets.
Conception
Il existe deux types de POO : statique et dynamique
L'héritage (simple comme en Java ou multiple comme en C++) de ces classes est donc statique aussi.
Dynamique
Dans ce mode :
tout est objet, y compris le code. Ainsi, les méthodes ("traits" ou "mixins") d'un objet peuvent ajoutées ou
mises à jour durant l'exécution, autant que son état (comme dans Self, ou Javascript).
l'héritage (de données comme de code) se fait donc par clonage d'un objet ancêtre ("prototype" aOn parle alors de POP ) puis
éventuel ajout/redéfinition de données/méthodes.
A ne pas confondre avec le terme "langage-objet" ou "code objet", qui désigne à l'origine un langage directement
assimilable par la machine (code machine des .o issus d'une compilation d'un
langage source comme les .c par exemple).