The coalgebraic perspective on objects and classes in object-oriented programming is elaborated: objects consist of a (unique) identifier, a local state, and a collection of methods described as a coalgebra; classes are coalgebraic (behavioural) specifications of objects. The creation of a ``new'' object of a class is described in terms of the terminal coalgebra satisfying the specification. We present a notion of ``totally specified'' class, which leads to particularly simple terminal coalgebras. We further describe local and global operational semantics for objects. Associated with the local operational semantics is a notion of bisimulation (for objects belonging to the same class), expressing observational indistinguishability.

Object-oriented Programming (acm D.1.5), Requirements/Specifications (acm D.2.1), DATA STRUCTURES (acm E.1), Models of Computation (acm F.1.1), General (acm F.3.0)
Theories (e.g. algebraic theories), structure, and semantics (msc 18C10), Categorical logic, topoi (msc 03G30)
CWI
Department of Computer Science [CS]

Jacobs, B.P.F. (1995). Objects and classes, coalgebraically. Department of Computer Science [CS]. CWI.