Programmation orientée objet

La programmation orientée objet (POO), ou programmation par objet, est un paradigme de programmation informatique basé sur le concept d'objets, qui peuvent contenir du code et des données : les données sous la forme de champs (attributs ou propriétés), et le code sous la forme de procédures (méthodes).

Une capacité des objets est que ses procédures peuvent accéder et souvent modifier ses propres champs de données (this ou self). En POO, les programmes informatiques sont créés de façon à pouvoir interagir les uns avec les autres. Les langages de POO peuvent être très divers, mais les plus populaires sont basés sur la notion de classe, cela signifie que les objets sont des instances de classes, qui déterminent également leurs types.

Une classe regroupe des membres, méthodes et propriétés (attributs) communs à un ensemble d'objets. La classe déclare, d'une part, des attributs représentant l'état des objets et, d'autres part, des méthodes représentant leur comportement.

Il est possible de restreindre l'ensemble d'objets représenté par une classe A grâce à un mécanisme d'héritage. Dans ce cas, on crée une nouvelle classe B liée à la classe A et qui ajoute de nouvelles propriétés.

Dans la programmation par objets, chaque objet est typé. Le type définit la syntaxe et la sémantique des messages auxquels peut répondre un objet. Il correspond donc, à peu de chose près, à l'interface de l'objet.

Un objet peut appartenir à plus d'un type, c'est le polymorphisme, cela permet d'utiliser des objets de types différents là où est attendu un objet d'un certain type.