Un langage orienté objet est un langage de programmation qui fournit une construction pour encapsuler l'état et le comportement en tant qu'objet . Un langage qui prend également en charge l'héritage ou le sous-typage est classé comme orienté objet . Même si l'orienté objet semble être un sur-ensemble de l'orienté objet, ils sont utilisés comme des alternatives mutuellement exclusives, plutôt que de se chevaucher. Des exemples de langages strictement basés sur les objets - prenant en charge une fonctionnalité d'objet mais pas l'héritage ou le sous-typage - sont les premières versions d' Ada , Visual Basic 6 (VB6) et Fortran 90 .
Certains classent la programmation basée sur des prototypes comme basée sur des objets, même si elle prend en charge l'héritage et le sous-typage, mais pas via un concept de classe . Au lieu de cela, un objet hérite de son état et de son comportement d'un objet modèle . Un langage couramment utilisé avec prise en charge de la programmation basée sur des prototypes est JavaScript ;