La risposta è complicata, per due motivi.
Diverse persone in Informatica interpretano il termine "oggetto" in modo diverso. Uno è che un oggetto è costituito da alcuni dati e operazioni impacchettati insieme. L'altro è che un oggetto è tutto ciò ma ha anche "stato", cioè è una forma di entità mutevole .
Ci sono profonde questioni filosofiche a che fare con ciò che significa "cambiamento" (e che cosa significa "entità", in quanto è in continua evoluzione) e se le descrizioni matematiche in realtà catturano entità mutevoli.
hg(x)=gxg−1hggx↦gxg−1⟨g,x↦gxg−1⟩⟨g,x↦gxg−1,x↦g−1xg⟩
xx˙x(t)x˙x(t)t. Da questo, molti matematici di pensiero profondo hanno concluso che il cambiamento non esiste davvero e tutto ciò che hai sono funzioni del tempo. Ma ciò che stava cambiando nella meccanica newtoniana non era la posizione, ma la particella . La posizione è il suo stato istantaneo. Nessun matematico o fisico pretenderebbe che una particella sia un'idea matematica. È una cosa fisica.
Lo stesso vale per gli oggetti. Sono cose "fisiche" e gli stati sono i loro attributi matematici. Per una bella discussione di questo aspetto, consultare il capitolo 3 di Struttura e interpretazione dei programmi per computer di Abelson e Sussman . Questo è un libro di testo al MIT e lo insegnano a tutti gli scienziati e ingegneri, che penso capiscano perfettamente le cose "fisiche".
x1(t)x2(t)
Allo stesso modo, il modo matematico standard per modellare i programmi orientati agli oggetti è di trattare ogni oggetto come un indice nello spazio degli stati. L'unica differenza è che, poiché gli oggetti vanno e vengono e la struttura del sistema è dinamica, dobbiamo estenderlo a un modello di "mondo possibile" in cui ogni mondo è fondamentalmente una raccolta di indici. Allocazione e deallocazione di oggetti comporterebbe il passaggio da un mondo all'altro.
C'è un problema però. A differenza della meccanica, vogliamo che lo stato dei nostri oggetti sia incapsulato . Ma le descrizioni matematiche degli oggetti mettono gli stati ovunque, distruggendo completamente l'incapsulamento. Esiste un trucco matematico chiamato "parametria relazionale" che può essere usato per ridimensionare le cose. Non ci entrerò ora, se non per sottolineare che si tratta di un trucco matematico, non una spiegazione molto concettuale dell'incapsulamento. Un secondo modo di modellare matematicamente gli oggetti, con l' incapsulamento, è quello di affinare gli stati e descrivere il comportamento degli oggetti in termini di eventi osservabili. Per una buona discussione di entrambi questi modelli, posso fare riferimento al mio documento intitolato Oggetti e classi in linguaggi simili all'Algol .
[Nota aggiunta:]
Una bella analisi delle basi matematiche degli oggetti può essere trovata nell'articolo di William Cook " Sulla comprensione dell'astrazione dei dati, rivisitato ".