Inheritance is not subtyping

220Citations
Citations of this article
104Readers
Mendeley users who have this article in their library.
Get full text

Abstract

In typed object-oriented languages the subtype relation is typically based on the inheritance hierarchy. This approach, however, leads either to insecure type-systems or to restrictions on inheritance that make it less flexible than untyped Smalltalk inheritance. We present a new typed model of inheritance that allows more of the flexibility of Smalltalk inheritance within a statically-typed system. Significant features of our analysis are the introduction of polymorphism into the typing of inheritance and the uniform application of inheritance to objects, classes and types. The resulting notion of type inheritance allows us to show that the type of an inherited object is an inherited type but not always a subtype.

Cite

CITATION STYLE

APA

Cook, W. R., Hill, W. L., & Canning, P. S. (1990). Inheritance is not subtyping. In Conference Record of the Annual ACM Symposium on Principles of Programming Languages (pp. 125–135). Publ by ACM. https://doi.org/10.1145/96709.96721

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free