A resposta é complicada, por duas razões.
Pessoas diferentes na Ciência da Computação interpretam o termo "objeto" de maneira diferente. Uma é que um objeto consiste em alguns dados e operações agrupados. A outra é que um objeto é tudo isso, mas também tem "estado", isto é, é alguma forma de uma entidade mutável .
Existem questões filosóficas profundas relacionadas ao que "mudança" significa (e o que "entidade" significa, pois muda constantemente), e se as descrições matemáticas realmente capturam entidades alteráveis.
Objeto no sentido de dados + operações : isso é bastante padrão em matemática. Tome qualquer livro de texto de teoria de grupos. Terá em algum lugar uma definição como hg( x ) = gx g- 1 . (É um operador de conjugação.) O é um "objeto" nesta terminologia. Possui alguns dados ( g ) e uma operação x ↦ g x g - 1 . Ou você pode torná-lo mais objeto-y, tendo o par ⟨ g , x ↦ g x g - 1hggx ↦ gx g- 1 Ou o triplo ⟨ g , x ↦ g x g - 1 , x ↦ g - 1 x g ⟩ . Você pode construir esse tipo de "objetos" em qualquer linguagem de programação funcional que possua abstração lambda e alguma forma de formar tuplas. A "Teoria dos Objetos" de Abadi e Cardelli lida extensivamente com objetos desse tipo.⟨ g, X ↦ gx g- 1⟩⟨ g,X ↦ gxg-1, x ↦g-1x g⟩
Objetos com estado (ou objetos que mudam ): A matemática tem essas coisas? Acho que não. Eu não vi um matemático falar sobre algo que muda, não em sua vida profissional. Newton costumava escrever para a posição de uma partícula, que supostamente está mudando, ex para a sua taxa de mudança. Os matemáticos, eventualmente, descobriu que o que Newton estava falando era uma funçãox(t)de números reais em um espaço vetorial, e ˙ x foi outro tal função que foi a primeira derivada dex(t)em relação àtx˙x ( t )x˙x (t )t. A partir disso, muitos matemáticos de pensamento profundo concluíram que a mudança realmente não existe e tudo que você tem são funções do tempo. Mas o que estava mudando na mecânica newtoniana não era a posição, mas a partícula . A posição é seu estado instantâneo. Nenhum matemático ou físico pretenderia que uma partícula é uma idéia matemática. É uma coisa física.
O mesmo acontece com os objetos. São coisas "físicas" e os estados são seus atributos matemáticos. Para uma boa discussão sobre esse aspecto, consulte o Capítulo 3 da Estrutura e interpretação de programas de computador de Abelson e Sussman . Este é um livro-texto do MIT e eles o ensinam a todos os cientistas e engenheiros, que eu acho que entendem perfeitamente as coisas "físicas".
x1 1( T )x2( T )
Da mesma forma, a maneira matemática padrão de modelar programas orientados a objetos é tratar cada objeto como um índice no espaço de estados. A única diferença é que, como os objetos vêm e vão, e a estrutura do sistema é dinâmica, precisamos estendê-lo a um modelo de "mundo possível", em que cada mundo é basicamente uma coleção de índices. A alocação e desalocação de objetos envolveria a mudança de um mundo para outro.
Há um problema, porém. Diferentemente da mecânica, queremos que o estado de nossos objetos seja encapsulado . Mas as descrições matemáticas dos objetos colocam estados em todo o lugar, destruindo completamente o encapsulamento. Existe um truque matemático chamado "parametridade relacional" que pode ser usado para reduzir o tamanho das coisas. Não vou entrar nisso agora, exceto para enfatizar que é um truque matemático, não uma explicação muito conceitual do encapsulamento. Uma segunda maneira de modelar objetos matematicamente, com encapsulamento, é aperfeiçoar os estados e descrever o comportamento do objeto em termos de eventos observáveis. Para uma boa discussão de ambos os modelos, posso encaminhá-lo ao meu artigo intitulado Objetos e classes em linguagens semelhantes a Algol .
[Nota adicionada:]
Uma boa análise dos fundamentos matemáticos dos objetos pode ser encontrada no artigo de William Cook " On Understanding Data Abstraction, Revisited ".