A New Definition of the Subtype Relation
Authors: Barbara Liskov and Jeannette M. Wing
Appears in Proceedings of the European
Conference on Object-Oriented Programming '93, July 1993, pp. 118-141.
The full text of this paper is here (in
PostScript).
Abstract
The use of hierarchy is an important component of object-oriented
design.
Hierarchy allows the use of type families, in which higher level
supertypes capture the behavior that all of their subtypes have
in common.
For this methodology to be effective, it is necessary to have
a clear understanding of how subtypes and supertypes are related.
This paper presents a new
definition of the subtype relation that ensures that any property proved
about supertype objects also holds for subtype objects.
It also discusses the ramifications of
the definition on the design of type families.