Interfaces for strongly-typed object-oriented programming
- 1 September 1989
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGPLAN Notices
- Vol. 24 (10) , 457-467
- https://doi.org/10.1145/74878.74924
Abstract
This paper develops a system of explicit interfaces for object-oriented programming. The system provides the benefits of module interfaces found in languages like Ada and Modula-2 while preserving the expressiveness that gives untyped object-oriented languages like Smalltalk their flexibility. Interfaces are interpreted as polymorphic types to make the system sufficiently powerful. We use interfaces to analyze the properties of inheritance, and identify three distinct kinds of inheritance in object-oriented programming, corresponding to objects, classes, and interfaces, respectively. Object interfaces clarify the distinction between interface containment and inheritance and give insight into limitations caused by equating the notions of type and class in many typed object-oriented programming languages. Interfaces also have practical consequences for design, specification, and maintenance of object-oriented systems.This publication has 15 references indexed in Scilit:
- A Proposal for Making Eiffel Type-safeThe Computer Journal, 1989
- TS: an optimizing compiler for smalltalkPublished by Association for Computing Machinery (ACM) ,1988
- Objects as closures: abstract semantics of object-oriented languagesPublished by Association for Computing Machinery (ACM) ,1988
- Distrbution and Abstract Types in EmeraldIEEE Transactions on Software Engineering, 1987
- Using prototypical objects to implement shared behavior in object-oriented systemsPublished by Association for Computing Machinery (ACM) ,1986
- Encapsulation and inheritance in object-oriented programming languagesPublished by Association for Computing Machinery (ACM) ,1986
- An introduction to Trellis/OwlPublished by Association for Computing Machinery (ACM) ,1986
- On understanding types, data abstraction, and polymorphismACM Computing Surveys, 1985
- Reference Manual for the ADA® Programming LanguagePublished by Springer Nature ,1983
- A type declaration and inference system for smalltalkPublished by Association for Computing Machinery (ACM) ,1982