Technology of Object-Oriented Languages and Systems (TOOLS 34'00)
Weak Subtyping and Genericity
Santa Barbara, California
July 30-August 03
ISBN: 0-7695-0774-3
In the past, object-oriented design focused on encapsulation and inheritance as primary concepts. Therefore, there has been a lot of work in the domain of inheritance and the problems coming up, i.e. with covariant type systems. Recently, parameterized (generic) classes become more popular in object-oriented design. While the use of genericity in functional languages is well known and delivers no major problems, the situation in object-oriented languages differs: The combination of inheritance with genericity raises problems. This paper describes the theoretical foundations of designing and using generic classes in object-oriented systems. It discusses the possible relationships between generic subclasses as well as those between specialized instances of one generic class. The ideas presented here use the concept of context dependent subtypes, so-called weak subtypes, to define criteria for correctness, well formedness and substitutability.
Index Terms:
Inheritance, Subtype, Conformance, Genericity
Citation:
Andreas Heberle, Welf Löwe, Rainer Neumann, Wolf Zimmermann, "Weak Subtyping and Genericity," tools, pp.149, Technology of Object-Oriented Languages and Systems (TOOLS 34'00), 2000