La réponse est compliquée, pour deux raisons.
Différentes personnes en informatique interprètent différemment le terme «objet». La première est qu'un objet se compose de certaines données et opérations regroupées. L'autre est qu'un objet est tout cela mais qu'il a également un «état», c'est-à-dire qu'il s'agit d'une forme d' entité modifiable .
Il y a de profondes questions philosophiques à voir avec ce que signifie le «changement» (et ce que signifie «l'entité», car il change constamment), et si les descriptions mathématiques capturent réellement les entités modifiables.
hg( x ) = gx g- 1hggx ↦ gx g- 1⟨ g, x ↦ gx g- 1⟩⟨ g, x ↦ gx g- 1, x ↦ g- 1x g⟩
XX˙x ( t )X˙x ( t )t. De cela, de nombreux mathématiciens qui réfléchissent profondément ont conclu que le changement n'existe pas vraiment et que tout ce que vous avez est fonction du temps. Mais ce qui changeait dans la mécanique newtonienne n'était pas la position, mais la particule . La position est son état instantané. Aucun mathématicien ou physicien ne prétendrait qu'une particule est une idée mathématique. C'est une chose physique.
Il en va de même pour les objets. Ce sont des choses "physiques", et les états sont leurs attributs mathématiques. Pour une discussion intéressante sur cet aspect, voir le chapitre 3 de Structure et interprétation des programmes informatiques d'Abelson et Sussman . Il s'agit d'un manuel au MIT et ils l'enseignent à tous les scientifiques et ingénieurs, qui, je pense, comprennent parfaitement les choses "physiques".
X1( t )X2( t )
De même, la méthode mathématique standard pour modéliser des programmes orientés objet consiste à traiter chaque objet comme un index dans l'espace d'état. La seule différence est que puisque les objets vont et viennent et que la structure du système est dynamique, nous devons l'étendre à un modèle de "monde possible" où chaque monde est fondamentalement une collection d'indices. L'allocation et la désallocation d'objets impliqueraient de passer d'un monde à l'autre.
Il y a cependant un problème. Contrairement à la mécanique, nous voulons que l'état de nos objets soit encapsulé . Mais les descriptions mathématiques des objets mettent des états partout, détruisant complètement l'encapsulation. Il existe une astuce mathématique appelée "paramétricité relationnelle" qui peut être utilisée pour réduire la taille des choses. Je n'entrerai pas dans les détails maintenant, sauf pour souligner qu'il s'agit d'une astuce mathématique, pas d'une explication très conceptuelle de l'encapsulation. Une deuxième façon de modéliser des objets mathématiquement, avec encapsulation, consiste à affiner les états et à décrire le comportement des objets en termes d'événements observables. Pour une bonne discussion de ces deux modèles, je peux vous référer à mon article intitulé Objects and classes in Algol-like Languages .
[Note ajoutée:]
Une belle analyse des fondements mathématiques des objets peut être trouvée dans l'article de William Cook " Sur la compréhension de l'abstraction des données, revisité ".