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.

, , , ,
Department of Computer Science [CS]

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